注册 登录
编程论坛 ASP.NET技术论坛

DataGrid 中 FindControl 的问题

puvliang 发布于 2007-08-16 23:23, 746 次点击
页面上有一个DataGrid,ID为DataGrid1,它的模板列中有一个控件,ID为DropDownList1,

对DataGrid1进行数据绑定后,执行以下语句,dl却是空的,为什么呢?

DropDownList dl=(DropDownList)DataGrid1.Items[0].FindControl("DropDownList1");
3 回复
#2
冰彩虹2007-08-17 08:25
首先,不知道楼主把该语句放在哪儿执行

其次,根据ID获取模版列控件时,推荐进行Items行的类别判断
#3
puvliang2007-08-17 09:13

不管是放在private void Page_Load(object sender,System.EventArgs e)
{

}中,还是模板列中编辑按钮被按下时

private void DataGrid1_EditCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{

}中,都是空的.

请问,怎么进行Item行的类别判断呢?


#4
sean882007-08-17 09:21
以下是引用puvliang在2007-8-17 9:13:25的发言:

不管是放在private void Page_Load(object sender,System.EventArgs e)
{

}中,还是模板列中编辑按钮被按下时

private void DataGrid1_EditCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{

}中,都是空的.

请问,怎么进行Item行的类别判断呢?


if(e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
DropDownList dl=(DropDownList)DataGrid1.Items[0].FindControl("DropDownList1");
}

1