C# 在datagridview的1列中插入图像
基本上我得到了一个datagridview,我想在第一列中插入图像,在其余列中插入文本。请注意,datagridview绑定到一个源,我在其中插入行 在图像要求之前,我通常只将行添加为字符串数组,如下所示:C# 在datagridview的1列中插入图像,c#,winforms,datagridview,C#,Winforms,Datagridview,基本上我得到了一个datagridview,我想在第一列中插入图像,在其余列中插入文本。请注意,datagridview绑定到一个源,我在其中插入行 在图像要求之前,我通常只将行添加为字符串数组,如下所示: string[] row = **value**; myDataTable.Rows.Add(row); 这一切都很好。但是现在我不知道如何添加映像(我已经在datatable中添加了一个image列)。显然,我不能在字符串数组中插入位图图像。 也不能按如下方式插入图像和字符串数组: my
string[] row = **value**;
myDataTable.Rows.Add(row);
这一切都很好。但是现在我不知道如何添加映像(我已经在datatable中添加了一个image列)。显然,我不能在字符串数组中插入位图图像。
也不能按如下方式插入图像和字符串数组:
myDataTable.Rows.Add(image, textArray);
因为这将导致在第二列中插入整个数组,而不是在每一列中插入特定项
如何执行此操作?而不是字符串数组:
object[] row = new object[] { image, "string 1", "string 2" };
myDataTable.Rows.Add(row);
我们可以将任何类型的数据绑定到DataGridViewImageColumn。我们只需要处理CellFormatting事件即可将数据转换为图像。例如,我们将一些图像路径绑定到列,我们可以按照下面的代码显示图像:
private void dataGridView1_CellFormatting(object sender,DataGridViewCellFormattingEventArgs e)
{
if (this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewImageColumn)
{
string imagePath = (e.Value ?? "").ToString().Trim();
if (imagePath != "")
e.Value = Image.FromFile(imagePath);
}
}