2011-08-18 102 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

第一次右鍵點擊網格轉到網格屬性,您將獲得列(集合)屬性點擊。點擊外觀圖像佈局中的圖像列,然後選擇拉伸屬性,也可以增加圖像列的大小。 在這種情況下它確實很有幫助。你不需要這種類型的代碼。