Mantenimiento con grid
Los controles 13 a 16 no han de aparecer, ya que nos moveremos por la grid usando sus propios botones de navegación.
El botón buscar tiene un comportamiento especial, explicado en Controles fijos - Control 10 – Botón Buscar.
Con la ayuda de los controles 35 a 38 dibujaremos el cuadro donde aparecerá el listado. Añadiremos los controles 39 a 48 para poder movernos por la grid. Jugando con el valor de posic1 y posic2 haremos el cuadro del tamaño deseado y situaremos los botones de navegación en los lugares correspondientes. Todo este proceso esta explicado detalladamente en la sección de Controles fijos.
El control 17 lo situaremos en la parte inferior de la grid.
Crearemos los campos de tipo caja de texto, uno por cada campo de la tabla, con las características correspondientes.
Crearemos las líneas de la grid. Una primera línea corresponde al título y será de tipo “T”. A partir de aquí todas las líneas serán iguales exceptuando el color de fondo que se irán alternando entre blanco y verde flojo en bloques de dos. El color de fondo viene dado por el número que se sitúe en el segundo dígito de los atributos (blanco : 3 ; verde : 2). En el campo “num. dígitos” se pondrá el ancho de la línea.
Cada línea llamará a la función “g_fijar”, que se encontrará en el número de orden 1. No se le pasan ni parámetros no enlaces.
En “enlazar ctrl” se pondrá el número 36 en todas las líneas y en “pasar ctrl” se pondrá un 1. De esta forma siempre que se clicke sobre una línea, primero se fijará y luego ejecutará las funciones que contenga el control 36.
El control 36 es uno de los controles que dibujan la grid, por lo tanto siempre existirá cuando utilicemos este tipo de mantenimiento.
Contiene tres funciones.
o
La primera es la función “g_consulta” sin parámetros ni enlaces.
o
La segunda será “g_rellena” a la que se le pasa la sentencia sql donde se hace el select de todos los campos que colocaremos en los controles del mantenimiento con el where siguiente:
“where <tabla>.oid = #006”
seguido del resto de sentencias del “where” que sean necesarias.
En pares de campos pondremos emparejados de dos en dos el número de orden del campo dentro del select y el control que le pertenece en la pantalla (cada uno siempre ha de tener tres dígitos, poniendo ceros si fuese necesario. Cada par separado por coma. Ejemplo: “001007,002008,003010”.
o
La tercera función será “l_ref” sin parámetros ni enlaces.
De esta forma, cuando hagamos doble click en una línea, se rellenarán las cajas de texto con los datos del registro.