在Bound DropDownList中添加ALL

时间:2012-12-14 06:41:31

标签: c# asp.net visual-studio-2010 binding

我目前正在使用C#开发网页。我有一个DropdownList数据与我的sql数据库中的数据绑定。 dropdownlist与我的数据库绑定后,下拉列表中的项目是userA,userB和userC。如果我选择下拉列表中的任何项目,则特定用户的数据将显示在gridview中。

所以,我现在要做的是想在下拉列表中添加 ALL 。当我点击 ALL 时,每个用户的数据将显示在gridview中。我怎样才能做到这一点?有什么建议?感谢。

P / S:我不想添加任何额外的按钮以显示所有用户数据。我想在下拉列表中填写。

这是我的代码:

WebApp.aspx:

<asp:DropDownList ID="DropDownList1" runat="server" 
        DataSourceID="SqlDataSource1" DataTextField="Username" 
        DataValueField="Username">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:DBConnectionString %>" 
        SelectCommand="SELECT [Username] FROM [Accounts]">
</asp:SqlDataSource>

这是我为新网页编辑的内容。我不在后面的代码中调用数据绑定函数。

感谢您的帮助。

这是我要找的答案:

<asp:DropDownList ID="DropDownList1" runat="server" 
        DataSourceID="SqlDataSource1" DataTextField="Username" 
        DataValueField="Username" AppendDataBoundItems="True">
    <asp:ListItem Text="All" Value ="all" Selected="True"></asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:DBConnectionString %>" 
        SelectCommand="SELECT [Username] FROM [Accounts]">
</asp:SqlDataSource>

感谢所有想帮助我的人。

2 个答案:

答案 0 :(得分:2)

你可以做到这一点:

DropdownList与SQL数据

绑定后使用此代码
ddlUsers.Items.Add(new ListItem("All", "all"));
ddlUsers.SelectedValue = "all";

完成此操作后,您可以根据以下条件选择所有用户查询:

if(ddlUsers.SelectedValue == "all")
{
   // your SQL query to select all users goes here.
}

在HTML标记中,您可以添加以下内容:

<asp:DropDownList ID="DropDownList1" runat="server" 
        DataSourceID="SqlDataSource1" DataTextField="Username" 
        DataValueField="Username">

<asp:ListItem Text="All" Value ="all" Selected="True"></asp:ListItem>

</asp:DropDownList>

如果您不希望在默认情况下选择此项,则可以删除Selected="True"

答案 1 :(得分:0)

你可以做一些事情来实现这一目标。

1)ddlUsers.Items.Add(new ListItem(“All”,“all”));在绑定下拉列表的地方添加此行。

2)使用SelectedIndexChanged下拉事件,如...

protected void ddlUsers_SelectedIndexChanged(object sender, EventArgs e)
 {
if(ddlUsers.SelectedValue == "all")
{
  //Call your SQL query from here and bind the result set with your grid.
  //if you need the id's of all the items in the drop down then write a loop and form a      //string with , separated valued and pass it along.
}

}