主题:关于GridView的一个很奇怪的问题
我模仿网上的例子,用GridView模仿实现电子表格的功能。GridView中有4个列:UName,UAge,USex,UEmail.每一列的ItemTemplate中有一个可见的Label控件和一个不可见的TextBox或DropDownList控件。 为了方便,我们称Label为显示控件(displaycontrol),TextBox或DropDownList为编辑控件(editcontrol)。在实现对GridView的鼠标单击进入编辑状态的代码如下:
//前面的代码获取行和列的索引,分别保存在rowindex和columnindex中
this.message.Text = "行索引为:" + rowindex + ",列索引为:" + columnindex;
Control displaycontrol = mygridview.Rows[rowindex].Cells[columnindex].Controls[1];//注意这里的‘1’,问题在这里
displaycontrol.Visible = false;
Control editcontrol = mygridview.Rows[rowindex].Cells[columnindex].Controls[3];//注意这里的‘3’,问题在这里
editcontrol.Visible = true;
我的目的是想当选中某个单元格后,displaycontrol不可见,editcontrol可见。
现在的问题出来了:我在每一列的ItemTemplate中只放了两个控件,一个是label(作为displaycontrol),一个是TextBox(作为editcontrol),奇怪的是为什么前面取控件的时候只有写mygridview.Rows[rowindex].Cells[columnindex].Controls[1],mygridview.Rows[rowindex].Cells[columnindex].Controls[3] ,才能取到它们,写成mygridview.Rows[rowindex].Cells[columnindex].Controls[0],mygridview.Rows[rowindex].Cells[columnindex].Controls[1]反而不行,这是为什么啊?[em10][em10][em10]
//前面的代码获取行和列的索引,分别保存在rowindex和columnindex中
this.message.Text = "行索引为:" + rowindex + ",列索引为:" + columnindex;
Control displaycontrol = mygridview.Rows[rowindex].Cells[columnindex].Controls[1];//注意这里的‘1’,问题在这里
displaycontrol.Visible = false;
Control editcontrol = mygridview.Rows[rowindex].Cells[columnindex].Controls[3];//注意这里的‘3’,问题在这里
editcontrol.Visible = true;
我的目的是想当选中某个单元格后,displaycontrol不可见,editcontrol可见。
现在的问题出来了:我在每一列的ItemTemplate中只放了两个控件,一个是label(作为displaycontrol),一个是TextBox(作为editcontrol),奇怪的是为什么前面取控件的时候只有写mygridview.Rows[rowindex].Cells[columnindex].Controls[1],mygridview.Rows[rowindex].Cells[columnindex].Controls[3] ,才能取到它们,写成mygridview.Rows[rowindex].Cells[columnindex].Controls[0],mygridview.Rows[rowindex].Cells[columnindex].Controls[1]反而不行,这是为什么啊?[em10][em10][em10]