在c#中添加图像到datagridviewimagecoluml
本文关键字:datagridviewimagecoluml 图像 添加 | 更新日期: 2023-09-27 17:53:29
我正试图通过代码甚至在设计时为datagridviewimagecoluml添加图像
总是出现一个默认的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";
这导致默认的"无图像"显示在atagridviewimagecolum列这个问题的解决方案是什么?是问题与图像格式或什么!!
来自Microsoft的代码看起来像是在更改列标题中的图像。它不会添加包含图像的行。要做到这一点,您需要向绑定到DataGridView
的数据源添加一条记录,该数据源包含适当的图像数据,或者手动创建一个DataGridViewRow
,并将其添加到DataGridView
。
使用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";
}
}
这可能对你有帮助
DataGridViewImageColumn delCol = new DataGridViewImageColumn();//create image column
delCol.ImageLayout = DataGridViewImageCellLayout.Zoom;//column properties
int icIndex = DGV_showTable.Columns.Add(delCol);//add column to DGV
DGV_showTable.Columns[icIndex].Name = "Delete";//set name for column
Image image = Image.FromFile(@"C:'Users'mohab.MOHAMMED'Desktop'delete.png");//load img png
foreach (DataGridViewRow row in DGV_showTable.Rows)//foreach on all rows
{
row.Cells["Delete"].Value = image;//loadimage to dgv on spicific column
}
您必须在编写它的第二个代码上将img.ValuesAreIcons
从true
更改为false
。当我使用你的代码来解决这个问题时,它就发生在我身上了。