C# radGridview中的复选框列值

C# radGridview中的复选框列值,c#,winforms,datagridview,telerik,C#,Winforms,Datagridview,Telerik,我正在使用radGridView构建分配给它的数据,我的意思是我正在创建列和行(而不是分配给datasource)。将数据添加到网格后,我添加了一个复选框列,该列应用于检查多行(与multi-select idea相同,但使用的是checkboxcolumn) 因此,此列不绑定到任何数据,其值应在运行时分配。 当我尝试检索此复选框列值时,即使已选中,结果也为null,我使用此方法更新其值,但没有成功: private void radGridView1_ValueChanged(objec

我正在使用radGridView构建分配给它的数据,我的意思是我正在创建列和行(而不是分配给datasource)。将数据添加到网格后,我添加了一个复选框列,该列应用于检查多行(与multi-select idea相同,但使用的是checkboxcolumn)

因此,此列不绑定到任何数据,其值应在运行时分配。 当我尝试检索此复选框列值时,即使已选中,结果也为null,我使用此方法更新其值,但没有成功:

   private void radGridView1_ValueChanged(object sender, EventArgs e)
        {
            if(radGridView1.CurrentCell!=null)
                if(radGridView1.CurrentCell.ColumnInfo is GridViewCheckBoxColumn)
                    radGridView1.TableElement.Update(GridUINotifyAction.DataChanged);
        }

我应该怎么做才能使复选框列的值不在valueChanged上,而是在另一个按钮上单击?

我不确定您是如何获得空值的,但是,在我的测试中,复选框总是有值,如果它们被分配:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        radGridView1.Columns.Add(new GridViewCheckBoxColumn() { Name = "CheckBoxCol" });
        radGridView1.Rows.Add(false);
        radGridView1.Rows.Add(true);
        radGridView1.Rows.Add(false);
        radGridView1.Rows.Add(true);
    }

    private void button1_Click(object sender, EventArgs e)
    {
        foreach (GridViewRowInfo row in radGridView1.Rows)
        {
            Console.WriteLine(row.Cells["CheckBoxCol"].Value);
        }
    }
}

能否提供一个小样本以及如何再现问题的信息?

currentCell是当前选定的单元格?我可以有多个选定行。。这就是我为什么使用复选框的原因。谢谢。。通过编程方式添加列解决了我的问题。