La clase VDataViewDialog representa un objeto en ejecución de ficha o lista con interfaz. Nos permite ejecutar objetos de lista o ficha como rejillas, formularios, casilleros, etc. Construimos un objeto VDataViewDialog pasándole el objeto VRoot de entrada.
Esta clase se ha incorporado al API en la versión 7.15.
Añade una lista de registros al objeto. Esta es la forma de alimentar la lista de registros de entrada del objeto.
Parámetros:
registerList: Objeto de la clase VRegisterList del objeto.
La lista de registros que se pasa al objeto si exec devuelve true contendrá la información actualizada tras haber sido procesada en el objeto.
No se genera una lista nueva (result), sino que se trabaja sobre el mismo VRegisterList de entrada.
Funciones de operaciones
Boolean exec()
Ejecuta el objeto. El registro que se pasa al objeto si exec devuelve true contendrá la información actualizada tras haber sido procesado en el objeto. No se genera un nuevo registro de salida (result), sino que se trabaja sobre el mismo VRegister de entrada.
Ejemplos
1. Ejemplo que muestra un formulario de una película seleccionada con un localizador
2. Lanzar un formuario pasándole parámetros y recogiendo valores de retorno
// --------------------------------------------------------------------------------
// Proceso sin origen que lanza un localizador de peliculas y si seleccionan una
// la presenta en formulario en diálogo
// --------------------------------------------------------------------------------
importClass("VFinder");
// Crea localizador
var finder = new VFinder( theRoot );
finder.setFinder("CINE/PELICULAS");
// Ejecuta localizador
if ( finder.exec() )
{
// Si hay resultados
if ( finder.result() )
{
// Crea el lanzador del formulario en cuadro de dialogo con el formulario de peliculas
var dlg = new VDataViewDialog( theRoot );
dlg.setDataView(VObjectInfo.TypeForm, "CINE/PELICULA");
// Le inicializa el resultado del localizador (una peli)
if ( dlg.setRegister( finder.result() ) )
{
// presenta formulario en cuadro de dialogo
dlg.exec();
};
};
};
// -------------------------------------------------------------------------------------------
// Abrimos un formulario al que le pasamos parámetros y del que recuperamos valores de retorno
// -------------------------------------------------------------------------------------------
//Manejamos una lista de registros
var Registros = new VRegisterList(theRoot);
Registros.setTable("49z6dcke.vcd/DUMMY");
Registros.load("ID", [1]);
if (Registros.listSize())
{
//Nos quedamos con un registro
Registro = Registros.readAt(0);
//Creamos el formulario
var formulario = new VDataViewDialog(theRoot);
formulario.setDataView(VObjectInfo.TypeForm, "49z6dckf.vca/DUMMY")
//Le pasamos un valor a la variable local del formulario (como manejador de objetos)
formulario.setVar("TEXTO", "Hola mundo");
formulario.setRegister(Registro);
//Mostramos el formulario
if(formulario.exec())
{
//Leemos el valor de una variable del formulario y lo mostramos
alert(formulario.varToString("RESULTADO"));