Empezaremos creando el propio formulario desplegable o LookUp:
En el nodo Data Sources añadimos uno nuevo con la tabla VendTable:
Expandimos el nodo Desings y creamos un Grid con los campos que necesitemos. El ancho de Grid lo definimos en "Column width". En el control VendTable_AccountNum definimos la propiedad AutoDeclaration en Yes:
Ahora expandimos el nodo Methods del formulario, anulamos el método init y añadimos el siguiente código:
public void init()
{
super();
element.selectMode(VendTable_AccountNum);
}
Lo utlimo que haremos en el formulario LookUp sera establecer las propiedades siguientes del nodo diseño tal y como vemos en la imagen:
Width = 500
Style = Lookup
Ahora crearemos el formulario que utiliza este LookUp. He creado un formulario simple con un control StringEdit que nos desplegará el lookup que hemos creado anteriormente:
Ahora crearemos dos métodos, uno para registrar el control con el lookup y otro para llamar al formulario lookup y obtener el valor seleccionado.
protected void configureVendLookUp(FormStringControl stringControl)
{
if (stringControl)
{
stringControl.visible(true);
stringControl.registerOverrideMethod(methodStr(FormStringControl, lookup),identifierStr(VendLookUp), this);
}
}
El segundo método se llama cuando hacemos clic en el botón lookup del control StringEdit:
private void VendLookUp(FormStringControl stringControl)
{
Args args = new Args(identifierStr(FormVendTableLookUp));
FormRun lookupFormRun;
args.parm("");
args.caller(this);
lookupFormRun = ClassFactory::formRunClassOnClient(args);
lookupFormRun.init();
stringControl.performFormLookup(lookupFormRun);
lookupFormRun.wait();
}
Ejecutamos el formulario y hacemos clic en el botón desplegable. Vemos como nos selecciona la cuenta del proveedor en el control.
Espero que os pueda ser de utilidad.
guapo!!! tus admiradoras queremos que nos comas el dynamics!!
ResponderEliminar