Che*_*hiz 5 asp.net foreach telerik radgrid
我有一个带有GridTemplateColumn的Telerik RadGrid,其中包含一个复选框,如下所示:
<telerik:GridTemplateColumn HeaderText="MINE" UniqueName="MyTemplateColumn">
<ItemTemplate>
<asp:CheckBox id="MyCheckBox" runat="server"></asp:CheckBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)
我想根据从数据库中读取的值来设置"检查"框.我可以处理ItemDataBound事件并在绑定每一行时读取数据库,但这会导致n次查找.相反,我想处理DataBound,然后一次设置所有值.所以,在那个方法中,我想要这样的代码:
// read all values from database first, then...
foreach(var chkbox in MyRadGrid.MasterTableView.Columns.FindByUniqueName("MyTemplateColumn").FindControl("MyCheckBox")) {
chkbox.Checked = oneValue;
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为FindControl不是GridColumn的方法,它不会生成复选框的可迭代列表.迭代模板列中的复选框的正确方法是什么?谢谢!
Che*_*hiz 16
Telerik在他们的论坛上回复了我,答案如下:
foreach (GridDataItem item in MyRadGrid.MasterTableView.Items)
{
CheckBox chk = (CheckBox)item.FindControl("MyCheckBox");
// Set the value here
}
Run Code Online (Sandbox Code Playgroud)
希望这对某人有用!
| 归档时间: |
|
| 查看次数: |
15727 次 |
| 最近记录: |