Question

I have a AspxGridView that has a checkbox dataitemTemplate inside a gridViewDatacheckColumn. Now I want to find that control for each row and uncheck/check them on runtime.

Here's my code for the ASPxGridView:

<dx:ASPxGridView ID="RadGrid2" runat="server" AutoGenerateColumns="False" ClientInstanceName="grid"
    KeyFieldName="StoreID" SettingsPager-Mode="ShowAllRecords" Width ="50%">
    <Settings ShowVerticalScrollBar="true" />
    <Columns>
        <dx:GridViewDataCheckColumn Caption="#" VisibleIndex="0"  Width ="25%">
            <DataItemTemplate>
                <dx:ASPxCheckBox ID="CheckBox1" runat="server">
                </dx:ASPxCheckBox>
            </DataItemTemplate>
        </dx:GridViewDataCheckColumn>
        <dx:GridViewDataTextColumn FieldName="STORE_NAME" Caption="Store name" ReadOnly="True" VisibleIndex="1" Width ="75%">
            <EditFormSettings Visible="False" />
        </dx:GridViewDataTextColumn>
    </Columns>
</dx:ASPxGridView>

Here's my code for iterating to each row and finding the control.

for (int i = 0; i < RadGrid2.VisibleRowCount; i++)
    {
        CheckBox chk = RadGrid2.FindRowTemplateControl(i, "CheckBox1") as CheckBox;
        chk.Checked = false;
    }

I'm getting a null reference exception so I guess, it cannot find the control and I'm doing it the wrong way. Any ideas? Thanks!

Was it helpful?

Solution

You are using wrong method ASPxGridView.FindRowTemplateControl which searches for the specified server control contained within the specified data row's template.

You should use the ASPxGridView.FindRowCellTemplateControl method to find a control residing in the column's DataItemTemplate container or specified data cell's template.

Please also refer to the Accessing Controls Contained within Templates topic

References:
ASPxGridView - How to find a control inside the DataItem template
Cant find ASPxTextBox control in DataItem template using FindRowTemplateControl

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