Gridview控件绑定下拉列表
本文关键字:下拉列表 绑定 控件 Gridview | 更新日期: 2023-09-27 18:28:37
请帮我。我的页面上有一个GridView控件,其中包含2个下拉列表(大学和学院)。大学受制于page_load
事件,而大学则依赖于Uninversity.selectedValue
事件。我有一个添加按钮,它将新行添加到网格中。
问题是当有超过1行时。我不知道在onselectedIndexChanged
事件上应该绑定哪个学院。它继续绑定第一排的学院。
这是我迄今为止在SelectedIndexChanged方法中所做的
protected void drpUniversityName_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRowEventArgs e1 = (GridViewRowEventArgs)e; // Gives me a casting error on this line
DropDownList drpUniversityName = (DropDownList)(e1.Row.FindControl("drpUniversityName"));
DropDownList drpCollegeName = (DropDownList)(e1.Row.FindControl("drpCollegeName"));
bindColleges(drpUniversityName,drpCollegeName);
}
我需要一些方法来获得目前的大学和学院。
<asp:GridView ID="GridView1" runat="server" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList ID="ddlUniversity" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlUniversity_SelectedIndexChanged">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList ID="ddlCollege" runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这是c#代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
GridView_DataBind();
}
private void GridView_DataBind()
{
string[] datasource = { "1", "2", "3" };
GridView1.DataSource = datasource;
GridView1.DataBind();
}
protected void ddlUniversity_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow currentRow = (GridViewRow)((Control)sender).NamingContainer;
//your code here
}