2011-08-18 84 views
5

完整的图像我有列产品名称和产品形象,我填充这些值从数据库来的数据网格视图...无法显示在datagridview的细胞

我使用的WinForms桌面应用程序.... 。

我的问题是我不能够显示datagridview的细胞图像正常..see下面total grid view image

图我想在该列中显示的实际产品image列该图像的每一个细胞actual image need to show in every row

这个任务是在Web表单非常简单的使用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; 
    } 

回答

9

设置列的ImageLayout到拉伸值来解决此问题。

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; 
       } 
+0

我没有定义从设计专栏我只是绑定从数据库使用linq查询的详细信息 –

+0

我已经更新了我的答案... – platon

+0

如何找到gridviewimagecolumn ..我dint触摸designer.cs看到我更新的代码。 。 –

0

设置DataGridViewImageColumn.ImageLayout属性DataGridViewImageCellLayout.Zoom

如果设置为 “拉伸” 你的形象会inproportionally缩放以适合整个小区。这可能不是你想要的。

设置为放大以具有图形被均匀放大,直到它填充包含单元格的宽度或高度。

默认情况下,该值设置为“正常”:图形以其原始分辨率居中显示。

0

第一次右键点击网格转到网格属性,您将获得列(集合)属性点击。点击外观图像布局中的图像列,然后选择拉伸属性,也可以增加图像列的大小。 在这种情况下它确实很有帮助。你不需要这种类型的代码。