程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> C#下實現主從DropDownList互動的方法

C#下實現主從DropDownList互動的方法

編輯:.NET實例教程
相信和我一樣,有很多同行都遇到主從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.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved