Tengo un DataGrid en el que quiero habilitar/deshabilitar determinadas celdas en función de un valor.
Este código funciona bien en el evento 'CellValueChanged' pero necesito ponerlo también en el load del formulario y ahí simplemente no hace nada:
Código PHP:
For Each Row As DataGridViewRow In Me.DgFormasPagoProveedor.Rows
//Por si la columna trae un valor nulo le asigno un string vacío
If Row.Cells("TipoPago").Value Is System.DBNull.Value Then
Row.Cells("TipoPago").Value = ""
End If
Select Case Row.Cells("TipoPago").Value
Case ""//Si no se especifica un tipo de pago se vacían las columnas DiaSemana y DiaMes, se ponen como solo lectura y las pinto en color gris
Me.DgFormasPagoProveedor.Rows(Row.Index).Cells("DiaSemana").Value = ""
Me.DgFormasPagoProveedor.Rows(Row.Index).Cells("DiaSemana").ReadOnly = True
Me.DgFormasPagoProveedor.Rows(Row.Index).Cells("DiaSemana").Style.BackColor = Color.Silver
Me.DgFormasPagoProveedor.Rows(Row.Index).Cells("DiaMes").Value = ""
Me.DgFormasPagoProveedor.Rows(Row.Index).Cells("DiaMes").ReadOnly = True
Me.DgFormasPagoProveedor.Rows(Row.Index).Cells("DiaMes").Style.BackColor = Color.Silver
Case "Semanales"
//Otra forma de hacer lo mismo
Row.Cells("DiaSemana").ReadOnly = False
Row.Cells("DiaSemana").Style.BackColor = Color.White
Row.Cells("DiaMes").Value = ""
Row.Cells("DiaMes").ReadOnly = True
Row.Cells("DiaMes").Style.BackColor = Color.Silver
Case "Mensuales"
Row.Cells("DiaSemana").Value = ""
Row.Cells("DiaSemana").ReadOnly = True
Row.Cells("DiaSemana").Style.BackColor = Color.Silver
Row.Cells("DiaMes").ReadOnly = False
Row.Cells("DiaMes").Style.BackColor = Color.White
End Select
Next
El código compila perfectamente, NO DÁ NINGÚN ERROR, SIMPLEMENTE NO DESHABILITA LAS CELDAS NI LAS PINTA EN GRIS.
¿Alguna sugerencia?
Saludos y gracias.