2011-08-18 34 views
5

que tienen la vista de cuadrícula de datos con la imagen del producto Nombre del producto y columnas y estoy poblando estos valores procedentes de la base de datos ...No se puede mostrar la imagen completa en la celda de DataGridView

estoy usando Windows Forms aplicación de escritorio .... .

mi problema es que no soy capaz de mostrar la imagen en la celda de DataGridView ..see correctamente el siguiente diagrama total grid view image

quiero mostrar esta imagen en la columna de la imagen del producto real para cada celda de esa columna actual image need to show in every row

esta tarea es muy simple en formularios web mediante el uso de lista de datos de control pero no sé cómo mostrar la imagen completa en la celda vista de cuadrícula

puede alguien ayuda en esto ....

muchas gracias .... ...

y aquí es donde estoy Encuadernación DataGridView utilizando consulta 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; 
    } 

Respuesta

9

Establecer ImageLayout de la columna en el valor de estiramiento para resolver este problema.

ACTUALIZACIÓN: utilizar el siguiente código para cambiar la propiedad 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

No estoy definiendo columnas del diseñador solo estoy vinculando detalles de la base de datos usando la consulta de linq –

+0

He actualizado mi respuesta ... – platon

+0

cómo encontrar el gridviewimagecolumn .. no toco el designer.cs veo mi código actualizado. –

0

Conjunto DataGridViewImageColumn.ImageLayout propiedad a DataGridViewImageCellLayout.Zoom

Si ajusta a "estirar" su imagen será inproportionally escalado para adaptarse a toda la célula. Y eso probablemente no es lo que quieres.

Establecer para aumentar el zoom para tener El gráfico se ensancha uniformemente hasta que rellena el ancho o la altura de la celda que lo contiene.

De forma predeterminada, el valor se establece en "Normal": El gráfico se muestra centrado utilizando su resolución original.

0

primero, haga clic derecho en la cuadrícula, vaya a las propiedades de la cuadrícula, en la que obtendrá propiedades de columna (colección), haga clic en eso. haga clic en la columna de la imagen en que vaya en el diseño de la imagen de apariencia, y elija la propiedad de estiramiento, también puede aumentar el tamaño de la columna de su imagen. es realmente útil en ese caso. No necesita este tipo de código.

Cuestiones relacionadas