lunes, 27 de octubre de 2014

Cargar imagen en un datagridview en vb.net




Voy a explicar como solucionar el problema de los iconos o imágenes en una columna de un datagridview que hemos añadido en el diseño del formulario.





Os dejo una imagen, de 32x32p., con el código, como podéis ver es bien simple.


datagridview añadir imagen

Aquí tenéis el código, para los que no os gusta teclear, copy/paste :)

Private Sub DataGridView1_CellPainting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles DataGridView1.CellPainting
        ' En la tercera columna añado el icono edit.ico con
        If e.ColumnIndex = 3 AndAlso e.RowIndex >= 0 Then
            e.Paint(e.CellBounds, DataGridViewPaintParts.All)

            Dim celBoton As DataGridViewButtonCell = TryCast(Me.DataGridView1.Rows(e.RowIndex).Cells(3), DataGridViewButtonCell)
            Dim icoAtomico As New Icon(Environment.CurrentDirectory + "\edit.ico")
            e.Graphics.DrawIcon(icoAtomico, e.CellBounds.Left + 3, e.CellBounds.Top + 3)

            Me.DataGridView1.Rows(e.RowIndex).Height = icoAtomico.Height + 10
            Me.DataGridView1.Columns(e.ColumnIndex).Width = icoAtomico.Width + 10

            Me.DataGridView1.Rows(e.RowIndex).Cells(3).ToolTipText = "Editar cliente"

            e.Handled = True
        End If

    End Sub



En el evento CellPainting del datagridview añadimos el código de arriba y el resultado es este:


Espero que os sea útil.

Datos personales

avjsite

elxopet.blogspot.com.es

elxopet.blogspot.com.es
banner elxopet.blogspot.com.es

Muchas gracias a tod@s