0

我有一个dropdownlist我想在其中展示一所大学的不同分支。

当用户从中选择一个值时,与dropdownlist该值对应的数据必须显示在网格视图中。

例如,当用户从下拉列表框中选择“信息技术”时,必须在网格视图中显示与信息技术相关的教职员工列表。

4

3 回答 3

1

在下拉选择的索引更改方法上编写代码,该方法将通过获取值将数据绑定到gridview并将下拉属性自动回发设置为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
}
于 2013-03-20T08:30:59.913 回答
0

这是我的做法:

1)使用全局数据表变量来存储完整的数据。它将包含您的整个数据库表(类似于“从教职员工中选择 *”)

2)在加载时,使用该变量来填充一个gridview,也就是你在aspx中的表。通过提取大学分支的不同值并将其绑定到下拉列表,还可以使用它来构建选择框的项目列表,请参阅此帖子以获取代码

3) 将“onchange”事件附加到您的下拉列表中。在该事件的实现中,您将捕获选定的值,并可以使用默认数据视图的rowfilter 属性使用它来过滤您的数据表(这是全局的) 。完成后,您只需要触发一个新的 databind() ,将此过滤器数据绑定回您的 gridview

希望对您有所帮助...

于 2013-03-20T08:28:17.337 回答
0
  1. 将您的网格视图绑定到数据源
  2. 在您的数据源(对象数据源/SQL 数据源等)上定义一个控制参数并将控制参数设置为您的下拉列表
  3. 将下拉列表的 AutoPostback 属性设置为 true

现在,每当您从下拉列表中选择一个值时,都会分别填充网格视图。

于 2013-03-20T08:30:50.010 回答