我目前正在使用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>
感谢所有想帮助我的人。
答案 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.
}
}