C# 在RadGrid控件中仅选择启用的复选框

C# 在RadGrid控件中仅选择启用的复选框,c#,asp.net,checkbox,radgrid,C#,Asp.net,Checkbox,Radgrid,我有一个RadGrid控件,它根据数据库值显示禁用或启用复选框 我有一个单选按钮“全选”,需要选中网格中所有启用的复选框。但是,我无法检测复选框是启用还是禁用 复选框的html代码为: <telerik:GridTemplateColumn DataField="Certified" HeaderText="Certified" Visible="true"> <ItemTemplate> <asp:CheckBox ID="CheckBox

我有一个RadGrid控件,它根据数据库值显示禁用或启用复选框

我有一个单选按钮“全选”,需要选中网格中所有启用的复选框。但是,我无法检测复选框是启用还是禁用

复选框的html代码为:

<telerik:GridTemplateColumn DataField="Certified" HeaderText="Certified" Visible="true">
    <ItemTemplate>
        <asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="true" 
        OnCheckedChanged="CheckBox2_CheckedChanged" 
        Enabled='<%# !bool.Parse(Eval("Certified").ToString()) %>' />
    </ItemTemplate>
</telerik:GridTemplateColumn>

如何在if语句中只返回已启用的复选框?

您有奇怪的逻辑,if语句以逗号结尾

if (((CheckBox)dataItem.FindControl("CheckBox2")).Enabled != false) ;
结果,它们变成了两条独立的线

{
   ((CheckBox)dataItem.FindControl("CheckBox2")).Checked = true;
}
解决方案
columns.Bound(c=>c.IsSelected)
.ClientTemplate(“”)

code-behind中每次触发的时间/地点在哪里?在rbSelectAll\u-on-selected-dexchanged-function中,这是一个愚蠢的问题,但是否触发?感谢您提供的解决方案。逗号是一个输入错误:-)我用;它马上告诉我。
{
   ((CheckBox)dataItem.FindControl("CheckBox2")).Checked = true;
}
foreach (GridDataItem dataItem in RadGrid1.MasterTableView.Items)
{
    var checkbox = dataItem.FindControl("CheckBox2") as CheckBox;
    if (checkbox.Enabled)
    {
        checkbox.Checked = true;
    }
}
  columns.Bound(c => c.IsSelected)
 .ClientTemplate("<input <#=IsSelected  ? 'checked'  : '' #>  />")