我有数据网格视图,其中包含列产品名称和产品图片,我正在填充来自数据库的这些值......
我正在使用winforms桌面应用程序.....
我的问题是我无法正确显示datagridview单元格中的图像..请参阅下面的图表
我想在该列
中的每个单元格的实际产品图片列中显示此图片这个任务在webforms中使用datalist控件非常简单,但我不知道如何在网格视图单元格中显示完整图像
任何人都可以帮忙......
非常感谢.......
这是我使用linq查询绑定datagridview的地方..
private void EquipmentFinder_Load(object sender, EventArgs e)
{
var products = from prods in abc.products
select new
{
productid = prods.product_Id, //0
productname = prods.product_Name, //1
productimage = prods.product_Image, //2
productprice = prods.product_Price,//3
productdescr = prods.product_Description, //4
};
productbindingsource.DataSource = products;
productgridview.DataSource = productbindingsource;
productgridview.Columns[0].Visible = false;
productgridview.Columns[3].Visible = false;
productgridview.Columns[4].Visible = false;
}
答案 0 :(得分:9)
将列的ImageLayout设置为Stretch值以解决此问题。
UPDATE:使用以下代码更改ImageLayout属性:
for(int i = 0; i < dataGridView1.Columns.Count; i ++)
if(dataGridView1.Columns[i] is DataGridViewImageColumn) {
((DataGridViewImageColumn)dataGridView1.Columns[i]).ImageLayout = DataGridViewImageCellLayout.Stretch;
break;
}
答案 1 :(得分:0)
将DataGridViewImageColumn.ImageLayout属性设置为DataGridViewImageCellLayout.Zoom
如果设置为“Stretch”,您的图像将按比例缩放以适合整个单元格。这可能不是你想要的。
设置为缩放以使图形被均匀放大,直到它填充包含单元格的宽度或高度。
默认情况下,该值设置为“Normal”:图形以其原始分辨率居中显示。
答案 2 :(得分:0)
首先右键单击网格转到网格属性,您将获得列(集合)属性,单击该属性。单击图像列中的外观 - 图像布局 - 并选择拉伸属性,您还可以增加图像列的大小。 它在这种情况下真的很有帮助。你不需要这种类型的代码。