日期:2014-05-18  浏览次数:20433 次

关于DataGrid的e.Item.Cell问题
一直搞不懂
e.Item.Cell[int   Index]
这个Cell数组到底代表什么
我用的时候好像感觉写0,1,2,3怎么都没区别。。

------解决方案--------------------
中括号里的索引值不论你写什么,只要这个单元格存在,你都能找到AAA,根本不需要从AAA所在的那个单元格开始查找。

这个代码如果写

LinkButton lb = (LinkButton)e.Item.FindControl( "AAA ");

则是最直观地说明你懂asp.net的FindControl功能的方法。我不保证我永远不会写出这种从Cell[...]开始寻找的代码,但是我非常清楚这无用。

不是说AAA在什么控件中就一定从什么控件开始FindControl,例如AAA还在DataGrid呢,甚至也还在Form、Page的Controls集合内部呢,但是从这些开始查找就根本找不到AAA。你看,从一些过高层的容器开始查找就根本找不到子控件,从一些过底层的容器开始查找就根本是多余的、类似于Cell[....]平级的任何一个去查找都可以找到其它Cell[...]里边的子控件。

我把这个具体的解释留一个悬念,你自己去查msdn和比较好的asp.net组件设计资料吧。