在一个窗体中同时存在两个DropDownList 的selectecIndexChanged事件,如果让一个DDL发生变化时候,另一个DDL的数据不变
protected void ddl_yynl1_SelectedIndexChanged(object sender, EventArgs e){
String cZwcd = ddl_yynl1.Text.Trim();
if (cZwcd != "不限")
{
ddl_zwcd1.Items.Clear();
String sql = "select parameter from parameter where cBelong = 'YUDJ'";
DataSet ds = bc.GetDataSet(sql, "parameter");
DataView source = new DataView(ds.Tables[0]);
ddl_zwcd1.DataTextField = "parameter";
ddl_zwcd1.DataValueField = "parameter";
ddl_zwcd1.DataSource = source;
ddl_zwcd1.DataBind();
}
else
{
ddl_zwcd1.Items.Clear();
ddl_zwcd1.Items.Add("不限");
}
}
protected void ddl_yynl2_SelectedIndexChanged(object sender, EventArgs e)
{
String cZwcd = ddl_yynl2.Text.Trim();
if (cZwcd != "不限")
{
ddl_zwcd1.Items.Clear();
String sql = "select parameter from parameter where cBelong = 'YUDJ'";
DataSet ds = bc.GetDataSet(sql, "parameter");
DataView source = new DataView(ds.Tables[0]);
ddl_zwcd2.DataTextField = "parameter";
ddl_zwcd2.DataValueField = "parameter";
ddl_zwcd2.DataSource = source;
ddl_zwcd2.DataBind();
}
else
{
ddl_zwcd2.Items.Clear();
ddl_zwcd2.Items.Add("不限");
}
}
这样的代码会出问题,DDL1发生SelectedIndexChanged事件后,DDL2会清空. --------------------编程问答-------------------- 将需要触发SelectedIndexChanged事件的DDL属性 AppendDataBoundItems设置为true,内容需要根据变化的DDL属性 AppendDataBoundItems设置为false即可. --------------------编程问答-------------------- 我看这段代码,好像两个DropDownList没有任何的关系吧,如果DDL1变化后DDL2会清空,可能和代码其它地方有关系
1、建议仔细检查一下其它与这两个DropDownList相关的代码。
2、检查一下Page_Load的代码。
3、检查一下Html,看看两个DropDownList的事件是否指定错误了。
4、最好的方法还是设置断点跟踪调试。 --------------------编程问答-------------------- 我看这段代码,好像两个DropDownList没有任何的关系吧,如果DDL1变化后DDL2会清空,可能和代码其它地方有关系
protected void ddl_yynl2_SelectedIndexChanged(object sender, EventArgs e)
{
String cZwcd = ddl_yynl2.Text.Trim();
if (cZwcd != "不限")
{
ddl_zwcd1.Items.Clear(); //此处是ddl_zwcd2吧
String sql = "select parameter from parameter where cBelong = 'YUDJ'";
DataSet ds = bc.GetDataSet(sql, "parameter");
DataView source = new DataView(ds.Tables[0]);
ddl_zwcd2.DataTextField = "parameter";
ddl_zwcd2.DataValueField = "parameter";
ddl_zwcd2.DataSource = source;
ddl_zwcd2.DataBind();
}
else
{
ddl_zwcd2.Items.Clear();
ddl_zwcd2.Items.Add("不限");
}
}
补充:.NET技术 , ASP.NET