Tuesday, May 28, 2019

UI Builder Sample code

class SalesItemCategoryUIBuilder extends SrsReportDataContractUIBuilder
{
    DialogField  dialogFromDate,dialogToDate,dialogWarehouseName;
}
//
public void build()
{
    SalesItemCategoryContract rdpcontract = this.dataContractObject();

    dialogFromDate          = this.addDialogField(methodstr(SalesItemCategoryContract, parmFromDate), rdpContract);
    dialogToDate          = this.addDialogField(methodstr(SalesItemCategoryContract, ParmtoDate), rdpContract);
    dialogWarehouseName = this.addDialogField(methodstr(SalesItemCategoryContract, parmLocation), rdpContract);

}
//
public void getFromDialog()
{
    SalesItemCategoryContract contract = this.dataContractObject();
    super();
}
//
 public void initializeFields()
{
    SalesItemCategoryContract rdpcontract = this.dataContractObject();
}
//
public void postRun()
{
    Dialog      dialogLocal = this.dialog();
    DialogField dialogField;
    NoYes   confirm;

    super();
    dialogLocal.dialogForm().formRun().controlMethodOverload(false);
    dialogField  = this.bindInfo().getDialogField(this.dataContractObject(), methodstr(SalesItemCategoryContract, parmLocation));

    dialogField.registerOverrideMethod(methodstr(FormStringControl, lookup), methodstr(SalesItemCategoryUIBuilder,  warehouseLookup), this);
    dialogField.lookupButton(FormLookupButton::Always);
}//
private void warehouseLookup(FormStringControl warehouseLookUp)
{
    Query                   query= new Query();
    QueryBuildDataSource    qbds_SalesLocation;
    SysTableLookup          sysTableLookup;
    QueryBuildRange         qbr;
    container cnt;
    ForecastModel           forecastModel;
    ForecastSales           forecastsales;

   if (warehouseLookUp != null)
   {
        // Create an instance of SysTableLookup with
        // the current calling form control.
        sysTableLookup = SysTableLookup::newParameters(tablenum(AWDSalesLocation), warehouseLookUp);
        // Add fields to be shown in the lookup form.

        sysTableLookup.addLookupfield(fieldnum(AWDSalesLocation, warehousename), false);
        sysTableLookup.addLookupfield(fieldnum(AWDSalesLocation, Description), false);

        qbds_SalesLocation = query.addDataSource(tableNum(AWDSalesLocation));

        qbr = qbds_SalesLocation.addRange(fieldNum(AWDSalesLocation, warehousename));
        //qbr.value(dialogprojid.value());

        sysTableLookup.parmUseLookupValue(false);
        sysTableLookup.parmQuery(query);
        sysTableLookup.performFormLookup();
   }
}

No comments:

Post a Comment