0

私は1,0である私のdb vaulesごとにデータグリッドビューセルにアイコンを設定しようとしています私はこのコードを使用しています(このサイトからコピーされました!)

foreach (DataGridViewRow row in DataGridView1.Rows)

{ DataGridViewImageCell cell = row.Cells[8] as DataGridViewImageCell;

if  row.Cells[8]==1)
                cell.Value = (System.Drawing.Image)Properties.Resources.ok;

if  row.Cells[8]==0)
                cell.Value = (System.Drawing.Image)Properties.Resources.notOK;

}

しかし、コンパイラはこのエラーを示しています:

System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object.

そのコードで何が間違っていますか?

4

2 に答える 2

0

DT.Columns.Add("c",System.Windows.Forms.DataGridViewImageCell);

for (int i = 0; i < DT.Rows.Count; i++) { if (DT.Rows[i][8].ToString() == "1")

DT.Rows[i]["a"] = (System.Drawing.Image)Properties.Resources.ok;

else

row.Cells[8].Value = (System.Drawing.Image)Properties.Resources.notOK;

于 2013-11-02T08:38:49.240 に答える
0

これを試して。私はあなたがこれを望んでいると思います

foreach (DataGridViewRow row in DataGridView1.Rows)

{ 

if  (row.Cells[8]==1)
  {
      row.Cells[8]=new DataGridViewImageCell();
      row.Cells[8].Value = (System.Drawing.Image)Properties.Resources.ok;
  }
if  (row.Cells[8]==0)
  {
       row.Cells[8]=new DataGridViewImageCell();
       row.Cells[8].Value = (System.Drawing.Image)Properties.Resources.notOK;
  }
}

編集

dataGridView1.Columns.Add("a", "Image");
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (dataGridView1.Rows[i].Cells[8].ToString() == "1")
                {
                    dataGridView1.Rows[i].Cells["a"] = new DataGridViewImageCell();
                    dataGridView1.Rows[i].Cells["a"].Value = (System.Drawing.Image)Properties.Resources.Config;
                }
                else
                {
                    dataGridView1.Rows[i].Cells["a"].Value = (System.Drawing.Image)Properties.Resources.Config;

                }
            }
于 2013-10-29T10:09:49.273 に答える