【问题标题】:Access to all checked RadGridView 's Rows via GridViewCheckBoxColumn (Telerik component)通过 GridViewCheckBoxColumn(Telerik 组件)访问所有选中的 RadGridView 的行
【发布时间】:2020-04-04 18:21:01
【问题描述】:

我想通过 GridViewCheckBoxColumn 访问 RadGridView(Telerik 组件)中所有选中的行。注意:用户在运行时选择复选框...

【问题讨论】:

    标签: c# checkbox gridview telerik radgridview


    【解决方案1】:

    您可以像这样访问复选框列:

            foreach (GridViewRowInfo item in radGridView1.Rows.ToList())
            {
                if(item.Cells[0].Value.Equals(true))
                {
                    //dowhat you want
                }
            }
    

    在“Cell[0]”中,零索引是复选框列的索引

    【讨论】:

    • 感谢您的回复...我使用您的解决方案并收到此错误:“System.NullReferenceException: '对象引用未设置为对象的实例。' " 字符串 s1 = ""; foreach (radGridView1.Rows.ToList() 中的 GridViewRowInfo 项) { if (item.Cells[0].Value.Equals(true)) { s1 += item.Cells[3].Value.ToString(); } }
    • 您是否尝试过不添加代码?删除你添加的代码,看看是否还有错误?
    • 另外我在图片中只看到 3 列,所以请确保您使用的索引 3 是正确的。 @prorammer
    【解决方案2】:

    假设您的网格中只有一个复选框列,您可以使用以下代码访问该值。如果您有多个该类型的列,您可能需要进行某种名称检查或将网格绑定到模型。

    注意:确保检查空值。

    foreach (Telerik.WinControls.UI.GridViewRowInfo rowInfo in reportGridView.Rows)
    {
        foreach (Telerik.WinControls.UI.GridViewCellInfo cell in rowInfo.Cells)
        {
            if (cell.ColumnInfo.GetType() == typeof(Telerik.WinControls.UI.GridViewCheckBoxColumn))
            {
                if (cell.Value != null && (bool)cell.Value == true)
                {
                    // Some logic here to handle this ...
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      相关资源
      最近更新 更多