Gettting Column Value Using Checkbox in GridView Autopostback = true

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

Print | posted @ Tuesday, January 10, 2006 8:45 AM

Twitter