我有一个 Telerik RadGrid,它的 GridTemplateColumn 包含一个复选框,如下所示:
<telerik:GridTemplateColumn HeaderText="MINE" UniqueName="MyTemplateColumn">
<ItemTemplate>
<asp:CheckBox id="MyCheckBox" runat="server"></asp:CheckBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
我想根据从数据库中读取的值将该框设置为“选中”。我可以处理 ItemDataBound 事件并在绑定每一行时读取数据库,但这会导致n次查找。相反,我想处理 DataBound,然后一次设置所有值。所以,在那个方法中,我想要这样的代码:
// read all values from database first, then...
foreach(var chkbox in MyRadGrid.MasterTableView.Columns.FindByUniqueName("MyTemplateColumn").FindControl("MyCheckBox")) {
chkbox.Checked = oneValue;
}
这不起作用,因为 FindControl 不是 GridColumn 的方法,它不会生成复选框的可迭代列表。遍历模板列中的复选框的正确方法是什么?谢谢!