2013-03-28 12 views
1

我正在使用radGridView,並且正在構建分配給它的數據,我的意思是創建列和行(不分配給數據源)。在將數據添加到網格後,我添加一個應該用於檢查多行的複選框列(與多選想法相同,但使用複選框列),radGridview中的複選框列值

因此,此列未綁定到任何數據,其值應該是在運行時分配。 當我試圖找回原來是空,即使它選中此複選框列值,我用這個方法來更新它的價值,但它沒有工作:

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

我應該怎麼做獲取複選框列的值不是在valueChanged上,而是在另一個按鈕上單擊?

回答

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

能否請您提供一個小樣本的信息以及如何再現問題?

+0

currentCell是當前選中的單元格嗎?我可以有多個選定的行..這就是爲什麼我使用複選框。 – Lisa 2013-03-28 10:57:47

+0

我修改了我的帖子。 – checho 2013-03-29 15:24:15

+0

謝謝。以編程方式添加列解決了我的問題。 – Lisa 2013-04-11 11:30:51