我想在dataGridView中显示一些图像。我有两个组件,dataGridView,dataTable和一个位图。 DataTable有两列。在dataGridView中使用C显示位图
dataGridview.source = dataTable;
现在,我想的dataGridView显示三列,两名来自DataTable,并将新的第三个与我的位图。如果更容易,我可以修改dataTable和dataGridView。
可以吗?
我想在dataGridView中显示一些图像。我有两个组件,dataGridView,dataTable和一个位图。 DataTable有两列。在dataGridView中使用C显示位图
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);
}
如果需要,您还可以设置单个细胞的Value属性在此列。
上面的例子加上大量的其他讨论可以在MSDN找到。
另一种选择是将图片上传到数据表 - 这将自动生成图像列,但在数据表中需要新列的类型为字节数组。
我发现下面的代码快速谷歌这样做:
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
如果你采取这种方法,我建议做一点点研究,以找到创建字节数组的最佳方法 - 我不能担保该代码是最好的。
只需创建数据表与image列,并在http://tablegridview.blogspot.in
非常感谢帮助添加图片到它
下载完整的代码,我想,现在我就可以完成这个问题。 :) – nirmus 2011-06-11 17:23:33