我有一个dropdownlist
我希望展示一所大学的不同分支。
当用户从dropdownlist
中选择一个值时,则必须在网格视图中显示与该值对应的数据。
例如,当用户从下拉列表框中选择“信息技术”时,必须在网格视图中显示与信息技术相关的教师成员列表。
答案 0 :(得分:1)
在下拉列表中编写代码选择索引更改方法,通过获取值将数据绑定到gridview并将下拉属性设置为autopostback为true
.aspx文件
<asp:DropDownList id="ddlBranch" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlBranch_onSelectIndexChanged"/>
<asp:ListItem Value="1">Finance</asp:ListItem>
<asp:ListItem Value="2">Information Technology</asp:ListItem>
</asp:DropDownList>
<br/>
<br/>
<asp:GridView id="GridView1" runat="server">
您的c#代码
protected void ddlist_onSelectIndexChanged(object sender, EventArgs e)
{
string selectedBranch=ddlBranch.SelectedItem.Text;
DataSet dsBranchDetails=GetDataForBranch(selectedBranch);
GridView1.DataSource=dsBranchDetails;
GridView1DataBind();
}
public DataSet GetDataForBranch(string selectedBranch)
{
// your code
}
答案 1 :(得分:0)
我将如何做到这一点:
1)使用全局数据表变量来存储完整数据。它将包含您的整个数据库表(类似“Select * from facultymembers”)
2)在加载时,使用该变量填充gridview,即aspx中的表。还可以使用它来构建选择框的项目列表,方法是提取大学分支的不同值并将其绑定到下拉列表see this post for code
3)将“onchange”事件附加到您的下拉列表中。在该事件的实现中,您将捕获所选值,并可以使用它来使用默认数据视图的rowfilter property过滤数据表(这是全局的)。完成后,您只需触发一个新的数据绑定(),将此过滤器数据绑定回您的gridview
希望有帮助...
答案 2 :(得分:0)
现在,只要您从下拉列表中选择一个值,就会分别填充gridview。