Home

Monday, June 10, 2019

Filter records using unbound Enum combo box values

1- Form Class declaration-
public class FormRun extends ObjectRun
{
   
    QueryBuildRange   qbr;
    AllOpenPosted     status;
}

2-Form's init method--

public void init()
{
    super();

    AllOpenPostedField.selection(AllOpenPosted::Open);
    status   = AllOpenPostedField.selection();

}

3- form Data Source execute query-
public void executeQuery()
{
   QueryBuildDataSource qbds;
    ;
    if(status == AllOpenPosted::Open)
    {
        qbr.value(QueryValue(NoYes::No));
    }
     else if(status == AllOpenPosted::Posted)
    {
        qbr.value(QueryValue(NoYes::Yes));
    }
    else
    {
        qbr.value(SysQuery::valueNot(AllOpenPosted::All));
    }
    super();
}
4-form data source init method

public void init()
{
    QueryBuildDataSource qbds;
    super();

    qbds =  this.query().dataSourceTable(tablenum(STG_SalaryDisbursement));
    if (element.args().dataset() != tablenum(STG_SalaryDisbursement))
    {
        qbds  =  this.query().dataSourceTable(tablenum(STG_SalaryDisbursement));
        qbr   =  qbds.addRange(fieldnum(STG_SalaryDisbursement,JVPosted));
    }
}

5- Unbound enum control's modified method:
public boolean modified()
{
    boolean ret;
   ;
   ret = super();

   status   = this.selection();

   STG_SalaryDisbursement_ds.executeQuery();

   return ret;
}