GridView grChild = (GridView)gvrChild.Parent.Parent;是不是多了,看下其它语句,可能是父子关系不对

解决方案 »

  1.   


    没多,我debug了一下。直接设置gvrParent.Cells[9].Text = “111”
    是没有问题的。现在是设值可以,取值不能。
      

  2.   


    谢谢回复!代码在公司,但是aspx大概就是一个gridview加一堆itemtemplate
    我的数据都是用itemtemplate用<#eval%>的格式绑定。而不是boundfield,是不是和这个有原因?
      

  3.   

    itemtemplate要是使用FindControl去找控件。itemtemplate和boundfield各有各的用处
      

  4.   

    你使用 chk.FindControl(其它控件的ID)就可以找到此chk所在的当前行中其它控件,何必要弄一大堆什么 .Parent 之类的东西呢?
      

  5.   

    另外,也要尽量使用控件的ID来查找。不要搞什么 gvrChild.Cells[12] 之类的写法。界面设计师完全可能随时增加、删除、调整列定义,编程的根本目标是为了应付用户需求的改变。所以你应该使用 FindControl 来更通用地编程,保证编程人员不给设计人员故意添麻烦。
      

  6.   


    谢谢!我试过了,因为这个chk是子gridview的控件,他找不到父gridview的控件。跟踪为null
      

  7.   

    子gridview中的chk找不到父gridview中的控件。
    而且用parent也取不到它的值,只能赋值,不能取值。取出的东西是&nbsp;
      

  8.   


    谢谢了,我通过bond_field配合parent拿到值了
    用itemtemplate配合findcontrol拿不到值。