下拉列表问题 [英] drop down list concerns
问题描述
我有两个下拉列表作为DDL1和DDL2。我在DDL1中有3个项目,其中第1项是--SELECT--。当我在DDL1中选择第22个项目时,DDL2的项目将从数据库中填充。但问题是,当我在DDL1中选择--SELECT--项目时,先前在DDL2中选择的项目保持原样并且不会删除。我希望当我在DDL1中选择--SELECT--时, DDL2应该为空,当我从DDL1中选择第一个或第二个项目时,应该从数据库中填充DDL2。有人可以帮忙吗?
请试试这个...
link1
您需要在SelectedIndexChanged事件上执行此操作。
protected void ddlSparte_SelectedIndexChanged( object sender,EventArgs e)
{
DataRow dr = dt.NewRow( );
dr [ Produktname] = ... SELECT ...;
dr [ Produkt_id] = 0;
dt.Rows.InsertAt(dr, 0 );
ddlProdukt.DataSource = dt;
ddlProdukt.DataTextField = Produktname;
ddlProdukt.DataValueField = Produkt_id;
ddlProdukt.DataBind();
}
请更改您的下拉列表和其他人。它只是一个概念。
这是你以前的代码:
public void FillActivityWaterStorage()
{
try
{
dt = Query.Guindy_ActivityWaterStorage_Population();
if(dt.Rows.Count> 0)
{
ddl_ActivityWaterStorage.Items.Clear();
ddl_ActivityWaterStorage.DataTextField =ActivityName;
ddl_ActivityWaterStorage.DataValueField =ActivityID;
ddl_ActivityWaterStorage.DataSource = dt;
ddl_ActivityWaterStorage.DataBind();
ddl_ActivityWaterStorage.Items.Insert(0,new ListItem( - SELECT--));
}
else
{ddl_SubActivityWaterStorage.Items.Insert(0,new ListItem( - SELECT--));
}
}
catch {}
}
你在这里工作。 。 。在你的DropDownList2 jsut中添加项目就像你在dropdownList1中所做的那样
ddl.Items.Insert(0, - ); //只是像这样(如果下面的代码不起作用,则可选)
现在选择的ddl已更改:
public void ddl_ActivityWaterStorage_SelectedChanged(Sender object,EventArguments e)
{
if(ddl_ActivityWaterStorage.SelectedValue == The2nditem)
{
ddl_SubActivityWaterStorage.DataSource = PopulateDataFromDatabase;
ddl_SubActivityWaterStorage.DataBind();
}
else
{
ddl_SubActivityWaterStorage.DataSource = null;
ddl_SubActivityWaterStorage.DataBind();
}
}
希望它会起作用,如果出现错误或出错则发表评论,以便我再次检查代码:)
I have two drop down lists as DDL1 & DDL2. I have 3 items in DDL1, where the 1st item is --SELECT--. When I select the 22nd item in DDL1, the items of DDL2 gets populated from the database. But the problem is, when I select the --SELECT-- item in DDL1, the item which was previously selected in DDL2 remains as it is and does not removes.I want that when ever i select --SELECT-- in DDL1, DDL2 should get empty & when I select 1st or 2nd item from DDL1, then DDL2 should get populated from the database. Can any one please help ?
Please try This...
link1
You need to do it on SelectedIndexChanged Event.
protected void ddlSparte_SelectedIndexChanged(object sender, EventArgs e) { DataRow dr = dt.NewRow(); dr["Produktname"] = "...SELECT..."; dr["Produkt_id"] = "0"; dt.Rows.InsertAt(dr, 0); ddlProdukt.DataSource = dt; ddlProdukt.DataTextField = "Produktname"; ddlProdukt.DataValueField = "Produkt_id"; ddlProdukt.DataBind(); }
Please change your dropdownlist and others. Its just a concept.
this is your previous code:
public void FillActivityWaterStorage() { try { dt = Query.Guindy_ActivityWaterStorage_Population(); if (dt.Rows.Count > 0) { ddl_ActivityWaterStorage.Items.Clear(); ddl_ActivityWaterStorage.DataTextField = "ActivityName"; ddl_ActivityWaterStorage.DataValueField = "ActivityID"; ddl_ActivityWaterStorage.DataSource = dt; ddl_ActivityWaterStorage.DataBind(); ddl_ActivityWaterStorage.Items.Insert(0, new ListItem("--SELECT--")); } else { ddl_SubActivityWaterStorage.Items.Insert(0, new ListItem("--SELECT--")); } } catch { } }
you do work around here. . . add item in your DropDownList2 jsut like you did in dropdownList1
ddl.Items.Insert(0,"--");//just like this(optional if the code below dont work)
now for the ddl selected changed:
public void ddl_ActivityWaterStorage_SelectedChanged(Sender object,EventArguments e) { if(ddl_ActivityWaterStorage.SelectedValue==The2nditem) { ddl_SubActivityWaterStorage.DataSource=PopulateDataFromDatabase; ddl_SubActivityWaterStorage.DataBind(); } else { ddl_SubActivityWaterStorage.DataSource=null; ddl_SubActivityWaterStorage.DataBind(); } }
hope it will work,comment if got error or something wrong so I can check the code again :)
这篇关于下拉列表问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!