Visual Basic.NET - pintar filas a partir de "n" columna en datagridview

   
Vista:

pintar filas a partir de "n" columna en datagridview

Publicado por dan (7 intervenciones) el 07/07/2015 22:28:16
Que tal,

He estado tratando de pintar filas a partir de una columna en un datagridview. Tengo una funcion en el evento cellFromating del datagridview, esta funcion me pinta las filas desde la columna 0 hasta la ultima columna:

1
2
3
4
5
6
7
8
9
Private Sub dgv_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles dgv.CellFormatting
 
If Me.dgv.Rows(e.RowIndex).Cells("column").Value = 3 Then
For Each celda As DataGridViewCell In Me.dgv.Rows(e.RowIndex).Cells
celda.Style.BackColor = Color.red
Next
End If
 
End sub


¿¿Hay alguna manera de pintar las filas partiendo de una columna?, es decir, desde la columna 2 hasta la ultima??



Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

pintar filas a partir de "n" columna en datagridview

Publicado por Rafael (4 intervenciones) el 09/07/2015 14:26:29
Varias cosas ...
Cada Objeto tiene multiples caracterizticas o mas propiamente llamadas PROPIEDADES, y METODOS...

Si buscas en ellas te llevaras sorpresas...

Ahora el pensamiento cuando programas no debe ser primero quien sabra hacerlo, si no como le enseño o le digo a esto que haga tal o cual cosa, el enunciado lo tienes:

Mi funcion colorea la fila desde la primera columna hasta la ultima...
Yo solo quiero que coloree desde la Columna "n" hasta la ultima...

Y si medio entiendes el codigo de tu funcion (vaya si tu lo hiciste sabes que:
Estas dentro de un for que repite una instruccion tantas veces como columnas tengas (en este caso)
Es por ello que vas columna 1 o 0 y la pintas, la siguiente. la siguiente... hasta que llegas al final...

Luego es muy facil no???
Le tienes que decir que solo a partir de la columna 2
Que tienes que saber???

Pues en que columna estas... y Eso quien te lo dice??? Pues buscamos propiedades del objeto DataGridViewCell y encuentras uno llamado ColumnIndex ...

Y pues facil solo pinta mientras la columna sea mayor o igual que la columna 2.

1
2
3
4
5
6
7
8
9
Private Sub dgv_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles dgv.CellFormatting
    If Me.dgv.Rows(e.RowIndex).Cells("column").Value = 3 Then
        For Each celda As DataGridViewCell In Me.dgv.Rows(e.RowIndex).Cells
            If celda.ColumnIndex >= 2 Then
                celda.Style.BackColor = Color.red
            End If
        Next
    End If
End sub

Una buena practica es que indentes...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar