我想在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