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

Preguntas similare

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

Respuesta Responder a este mensaje
#2 Developers
22/04/2006 - 04:49 | Informe spam
Gracias Amigo Luis por el Ejemplo me sirvio bastante... Muchas Gracias



Luis Miguel Blanco escribió:
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.
Respuesta Responder a este mensaje
#3 Luis Miguel Blanco
23/04/2006 - 11:07 | Informe spam
Hola Dany

Celebro haber podido ayudarte y que el ejemplo te fuera útil 8-)))
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Developers" wrote:

Gracias Amigo Luis por el Ejemplo me sirvio bastante... Muchas Gracias



Luis Miguel Blanco escribió:
> 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.

Respuesta Responder a este mensaje
#4 Cid
23/04/2006 - 11:48 | Informe spam
me ha sido muy didactico el ejemplo a mi tambien gracias Luis Miguel.

"Luis Miguel Blanco" escribió
en el mensaje news:
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

Respuesta Responder a este mensaje
#5 Luis Miguel Blanco
24/04/2006 - 09:22 | Informe spam
Hola Cid

Pues muchas gracias a tí también, encantado de haber podido ser de ayuda por
partida doble 8-)
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Cid" wrote:

me ha sido muy didactico el ejemplo a mi tambien gracias Luis Miguel.

"Luis Miguel Blanco" escribió
en el mensaje news:
> 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
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida