<asp:DataGrid ID="DataGrid1" runat="server" Width="100%">
<Columns>
<asp:BoundColumn DataField="id" HeaderText="Id"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID='ckb' runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
请问模版列中的CheckBox怎么获取到第一列中的文字,即id的值?
<ItemTemplate> <input type="checkbox" runat="server" id="chkSelect" value='<%#DataBinder.Eval(Container.DataItem,"BH")%>' NAME="chkSelect"/>
</ItemTemplate>
</asp:TemplateColumn>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" Width="8%"></HeaderStyle>
<ItemStyle HorizontalAlign ="Center" /> <ItemTemplate> <asp:CheckBox id="CheckBox1" runat="server" ToolTip='<%#Eval("Id")%>' </asp:CheckBox>
<asp:HiddenField ID="Hf_Id" Value='<%#Eval("Id")%>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<Columns>
<asp:BoundColumn DataField="id" HeaderText="Id"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID='ckb' runat="server" value=' <%#DataBinder.Eval(Container.DataItem,"id")%>'/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<Columns>
<asp:BoundColumn DataField="id" HeaderText="Id"> </asp:BoundColumn>
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID='ckb' runat="server" value=' <%#DataBinder.Eval(Container.DataItem,"id")%>'/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
然后在再判断该行该列的checkbox有没有被选中
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
CheckBox cbox = (GridView1.Rows[i].FindControl("CheckBox1")) as CheckBox;
if (cbox.Checked == true)
{
sb += (GridView1.Rows[i].FindControl("显示id那列的Id") as Label).Text + ",";
}
}
http://blog.csdn.net/xianfajushi/archive/2008/11/30/3413317.aspx