1

我正在使用 radGridView 并且正在构建分配给它的数据,我的意思是我正在创建列和行(不分配给数据源)。将数据添加到网格后,我添加了一个复选框列,用于检查多行(与多选想法相同,但使用复选框列),

所以这个列没有绑定到任何数据,它的值应该在运行时分配。当我尝试检索此复选框列值时,即使它被选中,结果也是 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 上而是在另一个按钮单击上?

4

1 回答 1

2

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

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);
        }
    }
}

您能否提供一个小样本和如何重现该问题的信息?

于 2013-03-28T10:45:13.913 回答