简体   繁体   English

在ASPxGridView中查找复选框控件

[英]Find checkbox control in ASPxGridView

I have a AspxGridView that has a checkbox dataitemTemplate inside a gridViewDatacheckColumn. 我有一个AspxGridView,它在gridViewDatacheckColumn内有一个复选框dataitemTemplate。 Now I want to find that control for each row and uncheck/check them on runtime. 现在,我想为每一行找到该控件,并在运行时取消选中/选中它们。

Here's my code for the ASPxGridView: 这是我的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! 谢谢!

You are using wrong method ASPxGridView.FindRowTemplateControl which searches for the specified server control contained within the specified data row's template . 您使用错误的方法ASPxGridView.FindRowTemplateControl来搜索指定数据行模板中包含的指定服务器控件。

You should use the ASPxGridView.FindRowCellTemplateControl method to find a control residing in the column's DataItemTemplate container or specified data cell's template . 您应该使用ASPxGridView.FindRowCellTemplateControl方法查找位于列的DataItemTemplate容器或指定的数据单元格的模板中的控件。

Please also refer to the Accessing Controls Contained within Templates topic 另请参阅模板中包含访问控件主题

References: 参考文献:
ASPxGridView - How to find a control inside the DataItem template ASPxGridView-如何在DataItem模板中查找控件
Cant find ASPxTextBox control in DataItem template using FindRowTemplateControl 使用FindRowTemplateControl无法在DataItem模板中找到ASPxTextBox控件

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM