Sometimes we need to have checkboxes in the GridView
control and we want that as soon as the Checkbox is clicked/checked the postback
happens and we get the value from the first row in the GridView control.
This can be easily done by using the following code:
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="CategoryID"
HeaderText="CategoryID" />
<asp:BoundField DataField="CategoryName"
HeaderText="CategoryName" />
<asp:TemplateField HeaderText="Select">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1"
AutoPostBack="true" runat="server"
OnCheckedChanged="CheckBox1_CheckedChanged1" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
And
the code behind:
protected void CheckBox1_CheckedChanged1(object sender, EventArgs e)
{
CheckBox checkbox = (CheckBox)sender;
GridViewRow row = (GridViewRow) checkbox.NamingContainer;
Response.Write(row.Cells[0].Text);
}
Ohh by the way
when you click a different checkbox it will show you the new value but does not
clear the old checkbox. You can make a simple method "ClearCheckboxSelection"
which clears all the checkboxes.
Hope you find
this example useful :)
powered by IMHO 1.3