首页 > 开发 > 综合 > 正文

C#下实现主从dropDownList互动的方法

2024-07-21 02:19:50
字体:
来源:转载
供稿:网友

相信和我一样,有很多同行都遇到主从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.




收集最实用的网页特效代码!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表