Question

I'm trying to use CheckBoxes within a GridView's TemplateField to select multiple entries from that GridView. The GridView's data source is a list of items that is generated at page load.

<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False" 
            AllowPaging="True" onpageindexchanging="TANsGridView_PageIndexChanging" 
            DataKeyNames="GUID">
            <Columns>
                <asp:TemplateField ShowHeader="False" HeaderText="Checker">
                    <ItemTemplate>
                        <asp:CheckBox ID="SelectCheckbox" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>

The problem is that when I press a submit button, all the CheckBoxes are returned with the Checked property as 'false'.

For cycling through the rows, I use:

foreach (GridViewRow row in TANsGridView.Rows)
        {
            CheckBox cb = (CheckBox)row.FindControl("SelectCheckbox");
        }

What should I use in order to have access to the correct value?

Thanks, Catalin

Was it helpful?

Solution

Are you mistakingly rebinding the gridview on page load every time? The gridview binding code should be wrapped in a if statement ensuring it's only done on not postback.

Am I supposed to put this here for an accept check now? :)

OTHER TIPS

if your are binding the grid on page load.load the grid like this.

if(!ispostback)
{
..........loading data to databind.

}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top