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 ...
随机推荐
- roscpp源码阅读
roscpp doxgen 这只是我摘取的一些主要代码 node_handle.cpp //NodeHandle的构造函数 void NodeHandle::construct(const std:: ...
- c#中的类型转换
Parse类型转换 Parse()函数 int.double都能调用Parse()函数,Parse(string str);如果转换成功就成功,失败就会抛出一个异常; TryParse()函数 相应地 ...
- hdu 5719 BestCoder 2nd Anniversary B Arrange 简单计数问题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5719 题意:一个数列为1~N的排列,给定mn[1...n]和mx[1...n],问有符合的排列数为多少 ...
- unpipc.h&unpipc.c
unpipc.h #ifndef _UNPIPC_H #define _UNPIPC_H #include <stdio.h> #include <unistd.h> #inc ...
- WPF-控件-编辑圆角TextBox
使用模板 代码如下: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xm ...
- ES5中的有9个Array方法
Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.prototype.some Array ...
- windows server 2008 下安装openmeetings 2.2.0
经过两天的痛苦经历,终于完成了openmeetings的安装部署.其实步骤都很简单,只是网上的资料都是英文的,而且很多教程都是针对openmeeting之前的版本,导致我在部署的时候走了很多弯路.网上 ...
- php输出错误屏蔽的函数
/** * 设置默认值方法 * @param mult $data * @param string $key key值 * @param string $default 默认值 */ public s ...
- Tesla为什么要公开专利
这是今天在网上看到Tesla公司的专利墙图片,还是比较有视觉冲击力的,正好可以转来当配图. 业界先锋Tesla日前惊世骇俗地公开电动汽车专利,赢得如潮好评:不过大家都知道,对于西方科技公司,专利历来是 ...
- Codeforces Round #327 (Div. 1) B. Chip 'n Dale Rescue Rangers 二分
题目链接: 题目 B. Chip 'n Dale Rescue Rangers time limit per test:1 second memory limit per test:256 megab ...