在GridView中,我们使用了一个编辑按钮。单击编辑按钮后,编辑模板中的控件将与更新按钮显示在同一行中。该行有两个下拉列表控件。
流程:
控制:d1和d2
d1正在使用sqldatasource进行项目显示:工作正常。
d2正在使用代码隐藏代码根据d1中的选定值加载项目:不工作
如何在编辑模板中找到控件以显示d2的项目值?
答案 0 :(得分:6)
我得到了答案。
protected void GridView1_PreRender(object sender, EventArgs e)
{
if (this.GridView1.EditIndex != -1)
{
Button b = GridView1.Rows[GridView1.EditIndex].FindControl("Button1") as Button;
if (b != null)
{
//do something
}
}
}
答案 1 :(得分:3)
切换到编辑模式时,需要重新绑定网格才能生效。
因此,您可以使用'RowDataBound'事件。
void MyGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow
&& e.Row.RowIndex == MyGridView.EditIndex)
{
DropDownList d1 = e.Row.FindControl("d1") as DropDownList;
if(d1 == null) return;
//Now you have the drop down. Use it as you wish.
}
}