C#下实现主从DropDownList互动的方法
2008-05-01 03:50
489 查看
相信和我一样,有很多同行都遇到主从dropdownlist互动的问题,比如选择了县,那么让系统自动在dropdownlist2中列出该县下属的乡名列表,而选了乡后,再在dropdownlist3中列出该乡下属的村的列表,那么我以前的解决方法是重新Rill相应dropdownlist所绑定的dataset,这样费事费资源,而且麻烦,其实我们可以用RowFilter来实现,下面是我的具体实现方法:
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
InitA();
}
//初始化dorpdownlist
DataSet Myds;
//CConection 为我的自定义类;实现与数据库的连接,其中有一属性为cnn,为OleDbConnection.
CConection Mycnn;
public void InitA()
{
Mycnn=new CConection();
string strSql;
strSql="select 编号,名称 from sys_county order by 编号";
OleDbDataAdapter MyoleAp=new OleDbDataAdapter(strSql,Mycnn.Cnn) ;
Myds=new DataSet() ;
MyoleAp.Fill(Myds,"sys_county");
this.DropDownList1.DataSource=Myds.Tables["sys_county"];
this.DropDownList1.DataValueField="编号";
this.DropDownList1.DataTextField="名称";
this.DropDownList1.DataBind();
strSql="select 编号,名称,所属县 from sys_town order by 编号";
MyoleAp.SelectCommand.CommandText=strSql;
MyoleAp.Fill(Myds,"sys_town");
this.DropDownList2.DataSource=Myds.Tables["sys_town"];
this.DropDownList2.DataValueField="编号";
this.DropDownList2.DataTextField="名称";
MyoleAp.Dispose();
}
//DropDownList1的changed改变dorpdownlist2的显示值,
private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
Myds.Tables["sys_town"].DefaultView.RowFilter="所属县='" + this.DropDownList1.SelectedValue +"'";
this.DropDownList2.DataBind();
}
[注意:]以上代码在C#的webform下实现,dropdownlist1的autopostback必须为true.
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
InitA();
}
//初始化dorpdownlist
DataSet Myds;
//CConection 为我的自定义类;实现与数据库的连接,其中有一属性为cnn,为OleDbConnection.
CConection Mycnn;
public void InitA()
{
Mycnn=new CConection();
string strSql;
strSql="select 编号,名称 from sys_county order by 编号";
OleDbDataAdapter MyoleAp=new OleDbDataAdapter(strSql,Mycnn.Cnn) ;
Myds=new DataSet() ;
MyoleAp.Fill(Myds,"sys_county");
this.DropDownList1.DataSource=Myds.Tables["sys_county"];
this.DropDownList1.DataValueField="编号";
this.DropDownList1.DataTextField="名称";
this.DropDownList1.DataBind();
strSql="select 编号,名称,所属县 from sys_town order by 编号";
MyoleAp.SelectCommand.CommandText=strSql;
MyoleAp.Fill(Myds,"sys_town");
this.DropDownList2.DataSource=Myds.Tables["sys_town"];
this.DropDownList2.DataValueField="编号";
this.DropDownList2.DataTextField="名称";
MyoleAp.Dispose();
}
//DropDownList1的changed改变dorpdownlist2的显示值,
private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
Myds.Tables["sys_town"].DefaultView.RowFilter="所属县='" + this.DropDownList1.SelectedValue +"'";
this.DropDownList2.DataBind();
}
[注意:]以上代码在C#的webform下实现,dropdownlist1的autopostback必须为true.
相关文章推荐
- C#下实现主从DropDownList互动的方法
- C#下实现主从DropDownList互动的方法
- .net实例:C#下实现主从DropDownList互动的方法
- C#下实现主从DropDownList互动的方法(转)
- C# 用Enter代替Tab 实现方法
- 浅谈C# 多态的魅力(虚方法,抽象,接口实现)
- C#实现MVC模式简要方法(2)
- C#实现DataTable,List和Json转换的方法
- 黑马程序员之 C#学习笔记:飞行棋地图二维数组实现方法
- C# 获取硬件参数的实现方法
- C# 判断时间段是否相交的实现方法
- C#实现简单播放mp3的方法
- C#编程实现动态改变配置文件信息的方法
- C#实现给DataGrid单元行添加双击事件的方法
- 禁用IE的后退按钮|显示网页已过期|几种语言的实现方法|c#|javascript|html
- C# 获取当前星期几三种实现方法(转)
- C#抽象工厂模式的几种实现方法及比较
- 用OO方法开发ALV(已实现DropdownList,纵向alv head,double_click、top_of_page事件,不断完善中)
- C#实现Winform鼠标拖动窗口大小时设定窗口最小尺寸的方法