日期:2014-05-20  浏览次数:20457 次

如何获取GridView.FooterRow 中的控件
不要在事件 OnRowDataBound 中访问 ,这里面写代码是没问题的。
 
 而是在自己写的事件中访问 FooterRow ,总是失败

跟踪获取的信息
FooterRow 对象信息如下:
  DataItem: null
  DataItemIndex: -1
  RowIndex: -1
  RowState: Normal
  RowType: Footer
   
  使用的语句:
  sJobDate.Value = ((TextBox)job_GridView.FooterRow.FindControl("tYMD")).Text.Trim();
  sJobDate.Value = ((TextBox)job_GridView.FooterRow.Cells[2].Controls[0]).Text.Trim();

 访问总是失败,

错误描述:
  指定的参数已超出有效值的范围。参数名: index

请问要怎么写才能在自己的事件中访问 FooterRow 中的控件
前台是有数据的。

------解决方案--------------------
执行是有顺序的
如果你在OnRowDataBound 中 可以正常获取 

就只有一种可能

就是你再你自己的事件获取时 , job_GridView.FooterRow 里还没有创建控件
------解决方案--------------------
sJobDate.Value = ((TextBox)job_GridView.FooterRow.Cells[2].Controls[0]).Text.Trim();
这种方式没有测试过,但是第一种肯定是可行的.

你这个语句是写在什么地方的?