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