2012-03-20 31 views
6

我的工作和我的形式,我有一個DataGridViewImageColumn必須表明該行的狀態一個DataGridView使用圖像(啓用/禁用)。顯示圖像的結合上WindowsForm項目文本字段

我有一個DataTable,我綁定到我的數據網格。在此表中有一列是每行的狀態並且是一個文本字段。

如何將此列綁定到顯示正確圖像的DataGridViewImageColumn

回答

13

每當我有關於如何在DataGridView中執行操作的問題時,我首先查閱Microsoft的FAQ。

http://www.windowsclient.net/Samples/Go%20To%20Market/DataGridView/DataGridView%20FAQ.doc

通常我在那種情況下做的處理CellFormatting事件來設置基於單元格的值的圖像。

所以我會存儲在類似的圖像列表我的圖片,然後讓代碼CellFormatting如下所示:

private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
    if (dgv.Columns[e.ColumnIndex].Name == "status") 
    { 
     if (e.Value != null) 
     { 
      if (e.Value.ToString() == "1") 
      { 
       e.Value = imageList1.Images[1]; 
      } 
      else 
      { 
       e.Value = imageList1.Images[2]; 
      } 
     } 
    } 
} 
+0

謝謝您的建議! – davioooh 2012-03-20 17:00:17

+0

@UWSkeletor - (我知道帖子老了)這段代碼不會執行2次嗎?一旦在初始單元格格式化事件上,然後將值設置爲圖像時。 那麼爲什麼不在數據綁定完成事件中呢? – Stix 2015-11-12 15:01:32