2011-08-18 20 views
5

mi hanno vista griglia di dati con il nome del prodotto e le colonne immagine del prodotto e sto popolano questi valori provenienti da database ...Impossibile visualizzare l'immagine completa nella cella datagridview

sto utilizzando WinForms applicazione desktop .... .

il mio problema è che io non sono in grado di mostrare l'immagine nella cella datagridview ..see correttamente lo schema seguente total grid view image

voglio visualizzare questa immagine nel reale colonna di immagine del prodotto per ogni cella della colonna actual image need to show in every row

questo compito è molto semplice in webforms utilizzando datalist controllo ma non so come visualizzare l'immagine nella cella della griglia vista

può qualsiasi aiuto su questo ....

molte grazie .... ...

e questo è dove sto legando le datagridview utilizzando query LINQ ..

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

risposta

9

Impostare ImageLayout della colonna per il valore di Stretch per risolvere questo problema.

UPDATE: utilizzare il codice seguente per modificare la proprietà 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

Non sto Definizione di colonne dal progettista io sono dettagli appena vincolanti dal database utilizzando query LINQ –

+0

Ho aggiornato la mia risposta ... – platon

+0

come trovare il gridviewimagecolumn .. ho forza toccare il designer.cs vedere il mio codice aggiornato. –

0

Set DataGridViewImageColumn.ImageLayout proprietà DataGridViewImageCellLayout.Zoom

Se si imposta su "Stretch" la vostra immagine sarà inproportionally ridimensionato per adattarsi a tutta la cella. E probabilmente non è quello che vuoi.

Imposta come zoom per avere L'immagine viene ingrandita in modo uniforme fino a riempire la larghezza o l'altezza della cella contenente.

Per impostazione predefinita, il valore è impostato su "Normale": L'immagine viene visualizzata centrata utilizzando la sua risoluzione nativa.

0

per prima cosa fare clic con il tasto destro del mouse sulla griglia andare alle proprietà della griglia in cui si otterranno le proprietà della colonna (raccolta) facendo clic su quella. fare clic sulla colonna dell'immagine in cui andare in aspetto-layout immagine e scegliere proprietà tratto si può anche aumentare la dimensione della colonna immagine. è davvero utile in questo caso. Non hai bisogno di questo tipo di codice.

Problemi correlati