2012-10-08 50 views
0

我已經頑強地搜查,無法找到如何檢查我使用C#代碼什麼datagridview的複選框已被選定如何檢查什麼datagridview的複選框已被選定

,我想知道如何將我可以檢查什麼複選框被選中,按住行索引,這樣我可以看一下數據網格視圖信息

我已經已經添加的複選框的

這是到目前爲止我的代碼「

dataGridView1.ColumnCount = 3; 
      dataGridView1.Columns[0].Name = "Product ID"; 
      dataGridView1.Columns[1].Name = "Product Name"; 
      dataGridView1.Columns[2].Name = "Product Price"; 

      string[] row = new string[] { "1", "Product 1", "1000" }; 
      dataGridView1.Rows.Add(row); 
      row = new string[] { "2", "Product 2", "2000" }; 
      dataGridView1.Rows.Add(row); 
      row = new string[] { "3", "Product 3", "3000" }; 
      dataGridView1.Rows.Add(row); 
      row = new string[] { "4", "Product 4", "4000" }; 
      dataGridView1.Rows.Add(row); 

      DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn(); 
      dataGridView1.Columns.Add(chk); 
      chk.HeaderText = "Check Data"; 
      chk.Name = "chk"; 

+0

你有一個datagridview的行內多個複選框?你使用數據綁定? –

+0

代碼,我寫了 – user1722654

+0

「我正在使用C#代碼」什麼C#代碼?你有什麼約束力?什麼是DataGridView列名與複選框? – LukeHennerley

回答

3

嘗試使用此代碼:

for (int i = 0; i <= GridView1.Rows.Count - 1; i++) 
     { 


      GridViewRow row = GridView1.Rows[i]; 
      CheckBox Ckbox = (CheckBox)row.FindControl("CheckBox2"); 
      if (Ckbox.Checked) 
      { 
       //........ 

      } 
     } 
+0

我將這添加到我的代碼中...我是新手 – user1722654

+0

您可以將此代碼添加到Button Button的Click事件中。如果已檢查,則此代碼將檢查每行中的每個複選框。 –

1
foreach(DataGridViewRow row in datagridview.Rows) 
{ 
    foreach(DataGridViewCell cell in row.Cells) 
    { 
     if(cell is DataGridViewCheckBoxCell) 
     { 
      isChecked = (datagridview.GetChildByPoint(new Point(cell.ColumnIndex, cell.RowIndex)) as CheckBox).Checked; 
     } 
    } 
} 

這可能會解決您的問題。如果您已經設置了列的TrueValue和FalseValue,那麼您可以更輕鬆地根據這些值檢查當前值並推斷其檢查狀態。

+0

怎麼會去提高cioloumn的真實價值,並且這會給我返回一個數字 – user1722654

+0

不,它會返回你一個bool是否檢查底層控件 – Wanabrutbeer

+0

如果它是一個讀/寫列,那麼你可以使用以上設置的價值也,但設置,它很少麻煩,如果你只是檢查列索引和設置值爲「真」或「假」 – Wanabrutbeer

相關問題