下拉列表问题 [英] drop down list concerns

查看:64
本文介绍了下拉列表问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个下拉列表作为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆