在C#将图片添加到DataGridViewImageColumn

问题描述 投票:1回答:3

我试图通过代码,甚至在设计时将图像添加到DataGridViewImageColumn

它总是与“X”表示没有图像的默认的C#图像

我想这代码微软

    Icon treeIcon = new Icon(this.GetType(), "tree.ico");
DataGridViewImageColumn iconColumn = new DataGridViewImageColumn();
iconColumn.Image = treeIcon.ToBitmap();
iconColumn.Name = "Tree";
iconColumn.HeaderText = "Nice tree";
dataGridView1.Columns.Insert(2, iconColumn);

。不过我添加一个.ico到资源 - 也尝试过的文件路径,异常结果说,tree.ico不应在形式上类中找到

我取代的图标与图像

            ataGridViewImageColumn img = new DataGridViewImageColumn();
            img.ValuesAreIcons = true;
            Image image = Image.FromFile("C:/Users/../Desktop/app_edit.png");
            img.Image = image;
            showprocessed_dataGridView.Columns.Add(img);
            img.HeaderText = "Image";
            img.Name = "img";

这导致到默认的ataGridViewImageColumn该如何解决这个问题显示“无图像”?与图像格式或发生了什么事!任何帮助,将不胜感激 ..

c# image datagridviewcolumn
3个回答
0
投票

从微软的代码看起来像它的改变列标题的图像。它不添加包含图像的行。要做到这一点,你需要一个记录添加到您绑定到包含适当的图像数据或手动创建您添加到DataGridView一个DataGridViewRowDataGridView的数据源。


0
投票

使用RowDataBound事件将图像结合到网格,

protected void gridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
 if(e.Row.RowType == DataControlRowType.DataRow)
 {
  Image imgGridview = (Image) e.Row.FindControl("imgGrv");
  imgGridview.ImageUrl = "images/test.gif";
 }
}

-2
投票

你必须从img.ValuesAreIcons true改变false上,你写的第二个代码。它将作品,它发生在我身上时,我用你的代码来解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.