我正在尝试通过代码或甚至在deaign时将图像添加到DataGridViewImageColumn
它始终是一个默认的c#图像,其中'x'表示没有图像
我在微软上试过这段代码
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中显示的默认“无图像”是什么解决了这个问题?是图像格式还是什么!! 任何帮助将不胜感激..
答案 0 :(得分:0)
Microsoft的代码看起来正在更改列的标题中的图像。它不会添加包含图像的行。为此,您需要向绑定到包含正确图像数据的DataGridView
的数据源添加记录,或手动创建添加到DataGridViewRow
的{{1}}。
答案 1 :(得分: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 :(得分:-2)
您必须在编写第二个代码时将img.ValuesAreIcons
从true
更改为false
。
它会起作用,当我使用你的代码解决这个问题时,它发生在我身上。