0
在我的應用程序級聯下拉列表我已經寫了像創建緩存數據
SqlDataAdapter cmd0 = new SqlDataAdapter(select a,b,c,d, from table1,sqlconn)
然後主查詢我已經緩存此查詢,因爲表1是一個非常巨大的表,我不想調用數據庫,每次用戶進行一些更改。
DataSet ds0 = new DataSet();
cmd0.Fill(ds0);
DataView source0 = new DataView(ds0.Tables[0]);
DataTable dt0 = new DataTable();
cmd0.Fill(dt0);
Cache["data"] = ds0;
我有2個下拉列表a和b。 我得到的緩存列,並在dropdownlists
//dropdown for a
DataSet dataset_a = new DataSet();
dataset_a = (DataSet)Cache["data"];
DataView dataview_a = dataset_a.Tables[0].DefaultView;
dataview_a.Sort = "a";
DataTable datatable_a = dataview_a.ToTable(true, "a");
ddla.DataSource = datatable_a;
ddla.DataTextField = "a";
ddla.DataValueField = "a";
ddla.DataBind();
現在我試着爲我做了ddla
//dropdown for b
DataSet dataset_b = new DataSet();
dataset_b = (DataSet)Cache["data"];
DataView dataview_b = dataset_b.Tables[0].DefaultView;
dataview_b.Sort = "b";
DataTable datatable_b = dataview_b.ToTable(true, "b");
ddlb.DataSource = datatable_b;
ddlb.DataTextField = "b";
ddlb.DataValueField = "b";
ddlb.DataBind();
當我改變到以同樣的方式initally填充下拉列表對於B綁定數據我在ddla中選擇(dropdownlist爲a)我想要b的下拉列表也被改變。 (層疊dropdownlists)
所以基本上我想火象查詢:
Select b from table1 where a=ddla.SelectedItem.ToString()
,但我不硝酸鉀如何使用緩存的數據做。
請幫幫我!謝謝!!!
非常感謝你。綁定dd1b並將其與SelectedIndexChanged事件上的dataview.rowfilter再次綁定!從早上起就一直打破我的頭腦!再次感謝你。 – Ankita