早上好,
我想在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;
}
}
}
但是在网格中我只在纸上显示红十字,比如找不到文件错误。 你能帮帮我吗?
答案 0 :(得分: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。
答案 1 :(得分:0)
Salvete!我正在寻找类似的答案。如果你不介意我的vb,试试这个帖子(我自己回答了......)。该代码显示了如何将资源中的图像加载到datagridview.
How to dynamically swap a string for an image in Datagridview?