Manejar estilos en DatagridView en vs.2005

21/04/2006 - 01:00 por Developers - Dany Acosta | Informe spam
Amigos como darle Encabezado,Pintar Filas de acuerdo a una condicion, Pintar Columnas
en el DatagridView antes en el Datagrid del Vb.Net 2003 se podia insertar los
DataGridTableStyles.
En esta nueva version como se realizar este proceso.

Gracias

Developers - Dany Acosta
 

Leer las respuestas

#1 Luis Miguel Blanco
21/04/2006 - 19:56 | Informe spam
Hola Dany

Para modificar el aspecto de una de las celdas de un datagridview puedes
utilizar la propiedad HeaderCell, perteneciente a la colección Columns del
datagridview. Esta propiedad te devuelve un objeto
DataGridViewColumnHeaderCell, cuyas propiedades puedes manipular para
modificar el aspecto de esta celda.

Respecto a modificar las celdas de datos de una columna en función de una
condición, puedes utilizar el evento CellFormatting del objeto datagridview,
añadiendo el código que modifique la apariencia de la celda cuando se
produzca la condición.

Para conseguir que estas configuraciones manuales en la cabecera se apliquen
correctamente, en el control datagridview, debes asignar a su propiedad
EnableHeadersVisualStyles el valor False.

Te adjunto un ejemplo de código para que lo puedas probar.

'///////////////////////////////
Imports System.Data.SqlClient

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim oConnection As SqlConnection
Dim oDataAdapter As SqlDataAdapter
Dim oDataSet As DataSet

oConnection = New
SqlConnection("Server=localhost;Database=Northwind;uid=sa;pwd=sa")
oDataAdapter = New SqlDataAdapter("SELECT OrderID, ShipName,
ShipCountry FROM Orders", _
oConnection)
oDataSet = New DataSet

oConnection.Open()
oDataAdapter.Fill(oDataSet, "Orders")
oConnection.Close()

Me.DataGridView1.DataSource = oDataSet
Me.DataGridView1.DataMember = "Orders"
' aquí configuramos la celda de título de una columna
Me.DataGridView1.Columns(2).HeaderCell.Style.BackColor = Color.Aqua
End Sub

Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e
As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles
DataGridView1.CellFormatting
If Me.DataGridView1.Columns("ShipCountry").Index = e.ColumnIndex Then
Dim sTextoCelda As String = String.Empty
sTextoCelda = CType(e.Value, String)

If sTextoCelda = "Spain" Then
e.CellStyle.BackColor = Color.LightSkyBlue
End If
End If
End Sub
End Class
'///////////////////////////////

Espero que te sea de ayuda.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Developers - Dany Acosta" wrote:

Amigos como darle Encabezado,Pintar Filas de acuerdo a una condicion, Pintar Columnas
en el DatagridView antes en el Datagrid del Vb.Net 2003 se podia insertar los
DataGridTableStyles.
En esta nueva version como se realizar este proceso.

Gracias

Developers - Dany Acosta

Preguntas similares