在datagridview上以单列显示两个图像

时间:2012-11-23 05:24:41

标签: c# winforms datagridview

如何创建一个可以在datagridview上的一列中显示2个图像的列?

我试图创建2个datagridviewimagecolumn(用于不同的图像)
如果它中的单元格包含相同的图像路径。
图像将根据单元格上的路径匹配。
这必须合并在一列(如下图所示)

例如。

这里我将创建2个datagridimagecolumn

DataGridViewImageColumn img1 - new DataGridViewImageColumn();
Image Simg1 = Image.FromFile (C:\Desktop\Green.jpg);
img1.Image = Simg1;
dgv.Columns.Add(img1); //it will display on the datagridview

DataGridViewImageColumn img2 - new DataGridViewImageColumn();
    Image Simg2 = Image.FromFile (C:\Desktop\Red.jpg);
    img2.Image = Simg1;
    dgv.Columns.Add(img2); 

如果sql server中生成的列看起来像这样

列1
---------
C:\桌面\ Greeen.jpg
C:\桌面\ Green.jpg
C:\桌面\ Red.jpg
C:\桌面\ Green.jpg

我将如何做到这一点 绿色路径将显示绿色图像。
红色路径将包含红色图像。

2 个答案:

答案 0 :(得分:0)

我不知道我是否理解你的问题,但我认为你可以解决创建一个图像,即2个图像的平铺并将其打印在列中。

您可以看到herehere如何做到这一点。

答案 1 :(得分:0)

您需要编写自己的合并单元类来实现onpaint事件。你可以看到它的一个例子here