Visual Basic.NET - color de fondo en celda DataGridView segun la condición de otra celda

 
Vista:
sin imagen de perfil
Val: 48
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

color de fondo en celda DataGridView segun la condición de otra celda

Publicado por pablo (33 intervenciones) el 11/05/2022 17:09:29
Buenos dias.
Tengo un datagridview que trae varios datos.
Mi idea es que segun los datos de la celda 9 se cambien de color los datos de la celda 4.
Yo lo venia haciendo como el codigo que les dejo a continuacion, pero solo me pintaria la celda 9 segun la condicion de la celda 9 y ahora necesti cambiar el color de la 4 segun los datos de la 9.

If e.ColumnIndex = 9 Then
Dim row As DataGridViewCell = DataGridView1(e.ColumnIndex, e.RowIndex)
Select Case row.Value
Case "Activos"
row.Style.BackColor = Color.Yellow
Case "No Activos"
row.Style.BackColor = Color.Silver
End Select
End If

Desde ya muchas gracias.

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
Imágen de perfil de Giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

color de fondo en celda DataGridView segun la condición de otra celda

Publicado por Giancarlo (488 intervenciones) el 11/05/2022 18:28:48
podrías usar esto
1
DgvListado.Rows( e.RowIndex).DefaultCellStyle.ForeColor = Color.Red
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 48
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

color de fondo en celda DataGridView segun la condición de otra celda

Publicado por pablo (33 intervenciones) el 11/05/2022 18:41:07
Entiendo.
Pero como le indico que columna es la que se tiene que pintar ?
porque en el codigo estoy recorriendo la fila 9 pero necesito que se pinte la 4 segun las condiciones de la 9
como indicaria eso en esa linea.
DgvListado.Rows( e.RowIndex).DefaultCellStyle.ForeColor = Color.Red


Gracias y 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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

color de fondo en celda DataGridView segun la condición de otra celda

Publicado por Phil Rob (1548 intervenciones) el 11/05/2022 18:39:57
Hola,

Es como dice Giancarlo.
Y si quieres cambiar color de solamente una celda, pienso que es :
1
DataGridView1.Item(e.ColumnIndex, e.RowIndex).Style.BackColor = Color.Red

...
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
sin imagen de perfil
Val: 48
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

color de fondo en celda DataGridView segun la condición de otra celda

Publicado por pablo (33 intervenciones) el 11/05/2022 18:44:05
por ahi me explique mal.

Yo tengo 10 datos en el datagrid , de reparaciones. columna 9 me marca el estado y la 4 el numero de orden.

Yo lo que necesito es recorrer el datagridview y que cuando la columna 9 diga cerrado la orden de la 4 se pinte de rojo, pero si dice abierta se pinte de verde.

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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

color de fondo en celda DataGridView segun la condición de otra celda

Publicado por Phil Rob (1548 intervenciones) el 11/05/2022 19:38:33
Quizá comprendo mejor ....

Este codage debería te gustar :
1
2
3
4
5
6
7
8
9
10
11
12
' Index Columna a verificar = 9
' Index Columna a cambiar = 4
 
        For Linea As Integer = 0 To DataGridView1..Rows.Count - 2  ' -2 si existe linea vacia a la ultima, si no, escribir -1
 
            Valor = DataGridView1.Item(9, Linea).Value
 
            If Valor = "Cerrado"  Then     ' No sé como verifias el valor
                    DataGridView1.Item(4, Linea).Style.BackColor = Color.Red
            End If
 
        Next
...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 48
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

color de fondo en celda DataGridView segun la condición de otra celda

Publicado por pablo (33 intervenciones) el 11/05/2022 20:09:56
Muchas gracias.
Era lo que necesitaba.

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