使用C#在dataGridView中显示位图
本文关键字:显示 位图 dataGridView 使用 | 更新日期: 2023-09-27 17:58:52
我想在dataGridView中显示一些图像。我有两个组件,dataGridView、dataTable和一个位图。DataTable有两列。
dataGridview.source = dataTable;
现在,我想在dataGridView中显示三列,其中两列来自dataTable,第三列来自位图。如果更容易的话,我可以修改dataTable和dataGridView。
有可能做到吗?
有几种方法可以实现这一点。
DataGridView有一种图像列类型,即DataGridViewImageColumn,它具有一个可以向其传递位图的图像属性。
以下内容应该有效:
private void createGraphicsColumn(Bitmap image)
{
DataGridViewImageColumn imageColumn = new DataGridViewImageColumn();
imageColumn.Image = image;
imageColumn.Name = "Tree";
imageColumn.HeaderText = "Nice tree";
dataGridView1.Columns.Insert(2, imageColumn);
}
如果需要,还可以设置此列中各个单元格的"值"属性。
上面的例子加上许多其他的讨论可以在MSDN上找到。
另一种选择是将图像添加到数据表中——这将自动生成图像列,但数据表中的新列需要为字节数组类型。
我发现以下代码可以用快速谷歌做到这一点:
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
如果你真的采用这种方法,我建议你做一点研究,找到创建字节数组的最佳方法——我不能保证代码是最好的。
只需创建带有图像列的数据表,并将图像添加到中
dtMain.Columns.Add("ImageColumn", typeof(Image));
dtMain.Rows.Add(Image.FromFile(photopath + "1.jpg"));
在下载完整代码http://tablegridview.blogspot.in