2012-08-24 21 views
0

DataGird與datasource綁定,其中已經有一些checkedunchecked值。我必須禁用其值被檢查的按鈕。DataGridView在勾選的值上,禁用按鈕

private void disableManualBuyButtons() 
    { 
     foreach (DataGridViewRow row in gvViewTickets.Rows) 
     { 
      DataGridViewCheckBoxCell cbc = (DataGridViewCheckBoxCell)row.Cells[0]; 
      cbc.TrueValue = true; 
      if (cbc.Value.Equals(cbc.TrueValue)) 
      { 
       DataGridViewButtonCell btn = (DataGridViewButtonCell)row.Cells[8]; 
       btn.ReadOnly = true; 
      } 
     } 
    } 
+0

那麼你面臨的問題是什麼? – V4Vendetta

+0

我不能訪問btn.Enabled = false屬性。按鈕如何禁用? – huda

+0

也許你可以用一個'DataGridViewTextBoxCell'來替換單元格,並給出一個禁用的'BackColor',它應該足夠好! – V4Vendetta

回答

1

根據this文章:

DataGridView控件包括用於與用戶界面(UI)等的按鈕顯示細胞DataGridViewButtonCell類。但是,DataGridViewButtonCell不提供禁用單元顯示的按鈕外觀的方法。

本文建議的解決方法是創建自己的專欄。你會在文章中找到完整的代碼。

+0

是否有另一種方法來禁用gridview按鈕比這篇文章還是要隱藏它? – huda

+0

不是我所知道的。但這一切都是微軟官方對此事的立場,如果有一個簡單的方法可以做到這一點,他們不會說這是最好的方式。有完整的代碼準備好粘貼使用它。 – Rafal