获取DataGrid的Footer中的控件

很多情况下由于需要都会在footer中放入一些控件,但是最后在获得这些控件引用的时候就会遇到点小麻烦,由于footer,header,pager都不在DataGrid.Items属性中,该属性返回的集合只包含数据绑定生成的item,所以必须用其他方法来做。下面是我从csdn和其他地方总结而来的几种方法:
1.在IteamCreated或者ItemDataBound中,具体代码就不多写了。
2.遍历DataGrid的所有Item。DataGrid.Controls[0]一般来说都是生成的Table。代码如下: foreach (DataGridItem item in DataGrid.Controls[0].Controls)
{
if(item.type==ListItemType.Footer)
//用Item.FindControl查找相应的控件
}
}
前面两种方法大家都经常用,这里再列出以前在csdn上看到的思归大哥提出的另外两种方法。
3.Table t=(Table)DataGrid.Controls[0];
//如果你有Pager的话,那么你需要这样编码T.Rows[T.Rows.Count-2]去获得Pager
DataGridItem item=(DataGridItem)t.Rows[t.Rows.Count-1];
//该item就是Footer,此时你就可以用FindControl查找了。
4.如果只有一个footer的话,你可以使用一般的html标记放在footer里面,然后你就可以用Request.Form['yourControlName']来获取它;但是这样做有个很不利的一点就是不容易在服务器端改变它的值。 
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值