Ado.Net小练习03(省市联动)
前台界面:
后台代码:
namespace _04省市联动
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private int r = 0;
private void Form1_Load(object sender, EventArgs e)
{
r = 1;
//所有省份显示到第一个下拉框中
LoadAreaByAreaPId(0);
}
private void LoadAreaByAreaPId(int v)
{
List<Area> list=new List<Area>();
list.Add(new Area() {AreaId = -1,AreaName = "---请选择---"});
string sql = "select AreaId,AreaName from TblArea where AreaPId="+v;
using (SqlDataReader reader=SqlHelper.ExecuteDataReader(sql))
{
if (reader.HasRows)
{
while (reader.Read())
{
Area a=new Area();
a.AreaId = Convert.ToInt32(reader["AreaId"]);
a.AreaName = reader["AreaName"].ToString();
list.Add(a);
}
}
}
if (r==1)
{
cbPro.DataSource = list;
cbPro.DisplayMember = "AreaName";
cbPro.ValueMember = "AreaId";
}
if(r==2)
{
cbCity.DataSource = list;
cbCity.DisplayMember = "AreaName";
}
}
private void cbPro_SelectedIndexChanged(object sender, EventArgs e)
{
#region 练习用的代码
//if (cbPro.SelectedIndex != 0)
//{
// cbCity.Items.Clear();
// //获取当前省份的id
// int id = Convert.ToInt32(cbPro.SelectedValue);
// string sql = "select AreaId,AreaName from TblArea where AreaPId=" + id;
// //List<Area> list = new List<Area>();
// using (SqlDataReader reader = SqlHelper.ExecuteDataReader(sql))
// {
// if (reader.HasRows)
// {
// while (reader.Read())
// {
// Area a = new Area();
// a.AreaId = Convert.ToInt32(reader["AreaId"]);
// a.AreaName = reader["AreaName"].ToString();
// cbCity.Items.Add(a); //重写了Area类的ToString()方法 public override string ToString()
//否则添加的是类的命名空间 {
return this.AreaName;
}
// }
// }
// }
//}
#endregion
#region 简化写法,使用r变量判断事件
r = 2;
if (cbPro.SelectedIndex != 0)
{
int id = Convert.ToInt32(cbPro.SelectedValue);
LoadAreaByAreaPId(id);
}
#endregion
}
}
}
Ado.Net小练习03(省市联动)的更多相关文章
- 微信小程序省市联动
最近呢刚好做了一个省市联动的功能,今天看到有人问这个怎么做,我就把我做的放上来共享一下: 首先呢,来看看效果,点击文字'点击',弹出选择窗口,点击取消或者确定(取消.确定按钮在选择框上边,截图有些不清 ...
- html + ashx 实现Ajax省市联动
基本思路:1.了解数据库中省和市的表结构及关联主键 2.创建html页面及select标签 3.通过ajax向ashx(一般处理程序)发送后台请求完成联动效果 表结构: 这里,开始创建一个命为demo ...
- html css javascript 知识点总结 bom js 操作标签 文本 节点 表格各行变色 悬停变色 省市联动 正则
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- jquery省市联动,根据公司需求而写
//author:guan //2015-05-25 //省市联动 //实用说明,页面引用如下js //<script src="../js/jquery-1.6.3.min.js&q ...
- Json 基于jQuery+JSON的省市联动效果
helloweba.com 作者:月光光 时间:2012-09-12 21:57 标签: jQuery JSON Ajax 省市联动 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些 ...
- AJAX案例四:省市联动
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- Dynamic CRM 2013学习笔记(八)过滤查找控件 (类似省市联动)
我们经常要实现类似省市联动一样的功能,常见的就是二个查找控件,一个选择了省后,另一个市的查找控件就自动过滤了,只显示当前省下的市,而不是所有的市.当然这是最简单的,实际工作中还有更复杂的功能要通过过滤 ...
- [JS]以下是JS省市联动菜单代码
以下是JS省市联动菜单代码: 代码一: <html> <head> <title></title> <script language=" ...
- 通过Javascript数组设计一个省市联动菜单
通过Javascript数组设计一个省市联动菜单 使用Option内置类来完成下拉选项的创建 2.使用定时器实现一个时钟程序 3.使用PHP+JSON完成语音验证码 网址:http://yuyin.b ...
随机推荐
- 关于查看Android系统源码【Written By KillerLegend】
可能你会想下载Android系统源码,但是我不知道你会看多少系统的源码,如果你对源码只是偶尔看一次的话,推荐你在线看Android的系统源码,下面提供几种查看android系统源码的方法. 1:打开这 ...
- 新手自学ABAP(1)--数据类型
一.DATA语句 1.TYPE type ex: 可以利用冒号声明多个变量. DATA : gv_num1 TYPE I, gv_num2 TYPE I. 2.LIKE num (num可以 ...
- scanf gets fgets区别与联系 puts fputs printf区别与联系
组一:scanf( )函数 gets( )函数 fgets()函数都可用于输入字符串, 组二:printf( )函数 puts( )函数 fputs()函数则用于字符串的输出. 两组内部函数各有 ...
- yabeblog.me 关于Tomcat7部署 一台机器部署两个项目,一个用域名访问,一个用IP访问
该内容来自 http://www.yabeBlog.me,转载请说明出处. 1.使用IP访问的项目放在Tomcat7 的webapps目录下面:比如:AAA 2.使用域名访问的项目放在Tomcat7的 ...
- Kill 所有MySQL进程
如果在单机上安装了N多mysql数据库单实例,不再使用的情况下,想关闭所有进程,方法很简单的了,哈哈哈. kill -9 `ps -ef|grep DataServer|awk '{print $2} ...
- Lua基础之字符串(string)
1,计算字符串长度 2,返回字符串s的n个拷贝 3,返回字符串全部字母大写 4,返回字符串全部字母小写 5,返回一个类似printf的格式化字符串 6,根据下标截取字符串 7,在字符串中查找 8,在字 ...
- 高效开发Android App的10个建议(转)
假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比.耗电.耗内存.接下来就会得到用户的消极评论,最后名声也就臭了.即使你的应用设计精良.创意无限也没用. 耗 电或者内存占用 ...
- VBS基础篇 - 堆栈
VBS中的堆栈需要使用System.Collections.Stack '建立堆栈 Dim Stk : Set Stk = CreateObject("System.Collections. ...
- 1021 玛丽卡 - Wikioi
题目描述 Description麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们知 ...
- Uyuw's Concert POJ2451
裸半平面交,以前没写过,先写一遍再说 我越来越不注意细节了,最后才发现空间稍微开小了(没有开那个零头,他又要多4条边,就WA了) const maxn=; eps=1e-7; type point=r ...