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
Herramientas personales