GridView控件的单元格的问题
GridView.Rows.Cells[]集合
如何来判断所绑定的控件在第几个单元格中,按顺序计算吗?
我给GridView控件绑定了5列
<asp:GridView ID= "GridView1 " runat= "server " AutoGenerateColumns= "False " Height= "100% " Width= "100% " AllowPaging= "True " OnPageIndexChanging= "GridView1_PageIndexChanging " OnRowDataBound= "GridView1_RowDataBound " PageSize= "5 ">
<Columns>
<asp:TemplateField HeaderText= "选择 ">
<ItemTemplate>
<input id= "cbxSelect " value= ' <%#DataBinder.Eval(Container.DataItem, "name ") %> ' runat=server onclick= "AddRemoveValues(this) " type= "checkbox " />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText= "编号 ">
<ItemTemplate>
<asp:Literal ID= "llID " runat= "server " Text= ' <%# Eval( "id ") %> '>
</asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText= "姓名 ">
<ItemTemplate>
<asp:Literal ID= "llName " runat= "server " Text= ' <%# Ev( "name "> '>
</asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField= "sex " HeaderText= "性别 " />
<asp:BoundField DataField= "JoinTime " HeaderText= "入校时间 " />
</Columns>
</asp:GridView>
我在RowDataBound事件中
通过e.Row.Cells[1].FindControl( "llName ")可以找到绑定的第3列的控件
为什么这里不是找到第2列 绑定的控件
通过e.Row.Cells[0].FindControl( "cbxSelect ")可以找到绑定到第1列的控件
请大虾门详细的介绍一下,GridView控件Row内的Cells编号到底是如何分配的?
希望能够讲的详细些,谢谢
------解决方案--------------------gridview的列序数都是从0开始,不管你是模版列普通帮定列,按钮列都算是一列,按照在其属性弹出框中放置的顺序或者直接查看设计页面html代码可以推算出每列的序数
------解决方案--------------------e.Row.Cells[1].FindControl( "llName ")
===========
这是一个很大的误区, 不知道谁教的
使用 FindControl 就是为了避免在 Cell 里面找,
直接 e.Row.FindControl( "llName ") 就可以了
FindControl 在当前命名容器中查找目标控件