怎样得到Header、Footer、Pager里的控件
方法一:在ItemCreated或者ItemDataBound中,具体代码就不在多写了
方法二:遍历DataGrid的所有Item(注意,不是遍历DataGrid1.Items下的Item)
foreach (DataGridItem item in DataGrid1.Controls[0].Controls)
{
if (item.ItemType == ListItemType.Header)
{
//用item.FindControl查找相应的控件
}
}
大家可能会注意到,这里有个DataGrid1.Controls[0].Controls,这表示,DataGrid1下,有一个子控件,这个子控件是DataGridTable类型,他下面才是DataGridItem集合
在DataList中,下面的子控件直接就是DataListItem了,而没有Table:
foreach (DataListItem item in DataList1.Controls)
{
//....
}
方法一:在ItemCreated或者ItemDataBound中,具体代码就不在多写了
方法二:遍历DataGrid的所有Item(注意,不是遍历DataGrid1.Items下的Item)
foreach (DataGridItem item in DataGrid1.Controls[0].Controls)
{
if (item.ItemType == ListItemType.Header)
{
//用item.FindControl查找相应的控件
}
}
大家可能会注意到,这里有个DataGrid1.Controls[0].Controls,这表示,DataGrid1下,有一个子控件,这个子控件是DataGridTable类型,他下面才是DataGridItem集合
在DataList中,下面的子控件直接就是DataListItem了,而没有Table:
foreach (DataListItem item in DataList1.Controls)
{
//....
}
给某个DataGrid添加模板列,在Header里面放一个TextBox
DataGrid_ItemDataBound
里面取
if(e.Item.ItemType == ListItemType.Header)
(TextBox)e.Item.FindControl("TextBox1");