2011-07-31 11 views
2

おはよう、DataGridViewの画像に関する問題

DataGridViewに画像(16 * 16px pngファイル)を表示したいとします。このグリッドには、テキストセル、テキストセル、イメージセルの3つの列があります。

private void showData(List<Item> collection) 
    { 
     gwQuestions.AutoGenerateColumns = false; 
     gwQuestions.DataSource = addNotSet(collection); 

     foreach (DataGridViewRow row in gwQuestions.Rows) 
     { 
      DataGridViewImageCell cell = row.Cells[2] as DataGridViewImageCell; 
      cell.ValueType = typeof(System.Drawing.Image); 
      if (collection[row.Index].Result) 
      { 
       cell.Value = (System.Drawing.Image)Properties.Resources.Check; 
      } 
      else 
      { 
       cell.Value = (System.Drawing.Image)Properties.Resources.Cancel; 
      } 
     } 
    } 

しかし、グリッドで、私は、ファイルが見つからないエラーのように、紙の上だけ赤い十字を示しています。ここに は、私は画像を設定してみてくださいどのように、サンプルです。 私を助けてもらえますか?

答えて

1

あなたはDataGridViewののCellFormattingイベント内の画像を割り当てるために、あなたのロジックを置く場合、これは動作するはずです:

dataGridView1.CellFormatting += dataGridView1_CellFormatting; 

void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{    
    if (dataGridView1.Columns[e.ColumnIndex].Name == "ImageColumnName") 
    { 
     if (collection[e.RowIndex].Result) 
     { 
      e.Value = (System.Drawing.Image)Properties.Resources.Check; 
     } 
     else 
     { 
      e.Value = (System.Drawing.Image)Properties.Resources.Cancel; 
     } 
    } 
} 

はまた、あなたがここでe.Valueではなくcell.Valueを設定することに注意してください。

+0

にリソースから画像をロードする方法を示し、greateの!ありがとう:) –

関連する問題