如代码所示:
CheckBox box = (CheckBox)showPost.Items[i].Cells[3].Controls[1];
showPost是一个DataGrid,为什么它的Items里的子控件是从1开始索引的???那0是什么???
吾百思不得其解.在编程时,其它的索引全是从0开始的啊........

解决方案 »

  1.   

    你是模板列啊
    有常态控件与编辑态控件,你的CheckBox是编辑态的在第二个啊
      

  2.   

    从0开始??我试了,0不行,程序错误!!!我想知道这个0是什么子控件??welshem(天堂客) 说得差不多,不过我还是不明白.那一个模板列里只是那一个CheckBox.按理说就应该是0啊???
      

  3.   

    索引是从0 开始的,但你的CheckBox放在第二列
      

  4.   

    模板列有两个状态:常态与编辑态,各可放置一个控件
    你的CheckBox应是编辑态下显示的,所以在第二个啊
      

  5.   

    Response.Write(showPost.Items[i].Cells[3].Controls.Count);
      

  6.   

    Controls[0]是Cells里的第一个空件,而Controls[1]是第二个
      

  7.   

    天堂客,说得倒是有理.不过只是懂半分.可以有通俗的说法吗?
    或者是不是这样:
    模板里控件编辑时它的索引为1,常态为0?
    CheckBox老是编辑状态,所以老是为1???
      

  8.   

    自己跟踪一下就行了。另外你说的是Items的第一个不存在还是Cells.Controls的第一个不存在啊?