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

解决方案 »

  1.   

    Cell[int Index]
    是指的单元格的索引.
    e.item确定是哪一行.
      

  2.   

    那能解释下
    e.Item.Cell[0]的意思是什么吗?
    单元格索引是什么意思
    在一行e.Item中比如我有4列,索引就是代表第几列是吗?
      

  3.   

    e.Item.Cell[0] 当前行的第一个单元格
      

  4.   

    那就奇怪了,如果按real52525(寂寞乐手)所说
    代表的是列
    那么我有一个DataGrid
    两列
    有一个按钮ID为‘AAA’的放在第二列
    那我要使用他是不是
    LinkButton lb = (LinkButton)e.Item.Cell[1].FindControl("AAA");但是我使用
    LinkButton lb = (LinkButton)e.Item.Cell[0].FindControl("AAA");
    同样也能找到啊
      

  5.   

    中括号里的索引值不论你写什么,只要这个单元格存在,你都能找到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组件设计资料吧。
      

  6.   

    记住这个实例:   LinkButton lb = (LinkButton)e.Item.FindControl("AAA");就可以了,没有必要写:   LinkButton lb = (LinkButton)e.Item.Cell[0].FindControl("AAA");写了反而自己看着糊涂。
      

  7.   

    楼上的说得不错.
    还有,如果要找的这一列,是模板列的话,你用Cell[?]反而找不到.此时只能用FindControl()
      

  8.   

    知道了,谢谢sp1234(目前专攻如何识别专业asp.net程序员)