liteDBGrid

Grilla de ejemplo
Interpreta el parámetro de creación de la ventana (ctlName desde Self) como nombre de tabla o view, o como cláusula Select y muestra el contenido en columnas de anchura predefinida según el tipo de dato. Se puede cambiar la anchura de las columnas por separado, la altura de las filas, la anchura del encabezado de fila y la altura del encabezado de columna. Los cambios pueden guardarse en tablas de sistema entre sesiones de uso. Es posible seleccionar celdas o filas completas y copiarlas. También modificar los datos o agregar nuevas filas.

Para entender mejor todas las posibilidades de configurar una cuadrícula hay que conocer los conceptos bind-link. Desde esa perspectiva es un control liteDBPager al que se vincula (bind) un control por cada campo de la cláusula Select. En principio el control es de tipo liteDBEdit, pero se puede cambiar desde Self (ctlType) para mostrar otro tipo de control en alguna columna. Además se muestran los encabezados de fila y columna, se dibuja la cuadrícula completa (los controles sólo son visibles mientras se editan los datos), y tiene otras funcionalidades típicas de las cuadrículas en general.

En la imagen de arriba las columnas 2, 4 y 7 usan controles tipo liteDBComboBox; las 3, 5, 8 y 10 tipo liteDBClrPicker y las 11.12 y 13 tipo liteDBCheckBox.
A continuación cómo se ven los datos de diseño de la misma cuadrícula usando Self:
Datos de diseño
Nota: la cuadrícula lite_styles es parte de Self y está desaconsejado modificar su diseño. Normalmente esta cuadrícula está oculta al igual que otros "objetos de sistema".

Bugs: al insertar nuevos registros...
Funcionalidades básicas pendientes: borrar varias filas, moverse usando el teclado, pegar desde el portapapeles.
Funcionalidades avanzadas no implementadas: Fijar columnas o filas. Ordenar y filtrar filas y cambiar el orden de columnas mientras se ven los datos (son cosas definidas en la cláusula Select que da origen a la cuadrícula). Dibujar celdas no activas de columnas conteniendo controles (en realidad es una funcionalidad de cada control). Imprimir. liteDBClassedGrid