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!

Était-ce utile?

La 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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top