2012-03-20 10 views
6

を表示します。は、私はWindowsFormのプロジェクトに取り組んでいると私の形で、私は画像を使用して行の<strong>状態</strong>(有効/無効)を示さなければならない<code>DataGridViewImageColumn</code>と<code>DataGridView</code>を持っている画像DataGridViewImageColumn結合テキスト・フィールドで

データグリッドにバインドするDataTableがあります。この表には、各行のステータスの列があり、テキストフィールドです。

正しい画像を表示するDataGridViewImageColumnにこの列をバインドするにはどうすればよいですか?

答えて

13

DataGridViewでの操作方法について質問がある場合は、まずMicrosoftのよくある質問を参照してください。通常

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

+0

@UWSkeletor - (私は投稿が古いと知っています)このコードは2回実行されませんか?一度初期のセルフォーマットイベントが発生し、その値がイメージに設定されます。 なぜ、データバインド完了イベントでそれをしないのですか? – Stix

関連する問題

 関連する問題