Reputation: 2070
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!
Upvotes: 1
Views: 7371
Reputation: 18260
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
Upvotes: 2