RowDynamicColor
De GrialWIKI
Contenido |
Coloreo condicional en la Grial.Grid
Filas (Rows)
Es posible asociar una función que será llamada para cada fila de la grilla, donde se pueden cambiar los colores que se usarán para la fila en base a evaluaciones sobre los datos de la fila.
El evento se denomina RowDynamicColor, y debe asociarse mediante la cláusula "Handles" o mediante el comando "AddHandler"
Ejemplo:
Supongamos un combo-grilla denominado Ipv_Aspi_02W_GrpFliar_scb en el cual se desea que las filas que estén dadas de baja se muestren en color rojo.
Paso 1: Crear la función de formato condicional
'si tiene fecha de baja, que la fila se vea de color rojo Private Sub SiFbajaEnRojo(sender As Object, args As Grial.Grid.GridControl.RowDynamicColorEventArgs) If DataIn(args.drv!IPVASPI02_FBAJA) Then args.fore = Color.Red End Sub
Como vemos en el ejemplo, el parametro args As Grial.Grid.GridControl.RowDynamicColorEventArgs contiene una referencia a la fila particular de la grilla: drv (DataRowView) mediante el cual podemos analizar el contenido de los campos y modificar los colores para esa fila. El el parametro args cuenta con dos propiedades modificables, fore y back de tipo Color.
Paso 2: Asociar la función
Esto puede hacerse en el Form_Load
AddHandler Ipv_Aspi_02W_GrpFliar_scb.InternalGrid.RowDynamicColor, AddressOf SiFbajaEnRojo
Celdas (Cells)
Es posible asociar una función que será llamada para cada celda de la grilla, donde se pueden cambiar los colores y el texto que se usarán para la celda en base a evaluaciones sobre los datos de la celda.
El evento se denomina CellDynamicColor, y debe asociarse mediante la cláusula "Handles" o mediante el comando "AddHandler"
Ejemplo:
Supongamos un combo-grilla denominado Ipv_Aspi_02W_GrpFliar_scb en el cual se desea que la celda "fecha de baja" se muestren en color rojo y agregando la palabra "BAJA", si el registro esta dado de baja.
Paso 1: Crear la función de formato condicional
'si tiene fecha de baja, que la celda se vea de color rojo Private Sub SiFbajaEnRojo(sender As Object, args As Grial.Grid.GridControl.CellDynamicColorEventArgs) If args.field="IPVASPI02_FBAJA" AndAlso DataIn(args.drv!IPVASPI02_FBAJA) Then args.fore = Color.Red args.display = "BAJA " & args.display End If End Sub
Como vemos en el ejemplo, el parametro args As Grial.Grid.GridControl.CellDynamicColorEventArgs contiene el nombre del campo field, el texto a mostrar display, modificable, de tipo string y una referencia a la fila particular de la grilla: drv (DataRowView) mediante el cual podemos analizar el contenido de los campos y modificar los colores para esa fila. El el parametro args cuenta tambien con dos propiedades modificables, fore y back de tipo Color.
Paso 2: Asociar la función
Esto puede hacerse en el Form_Load
AddHandler Ipv_Aspi_02W_GrpFliar_scb.InternalGrid.CellDynamicColor, AddressOf SiFbajaEnRojo