Monday, November 17, 2025

Form level multiselect lookup

 Form level multiselect lookup 

public class FormRun extends ObjectRun 

{ 

 

    SysLookupMultiSelectCtrl msCtrl; 

} 

public void init() 

{ 

   Query query; 

    QueryBuildDataSource qbds; 

  //  QueryRun qr; 

    super(); 

     query = new Query(); 

    qbds= query.adddatasource(tablenum(SalesTable)); 

 

    qbds.fields().addField(fieldNum(SalesTable,CustAccount)); 

   // qbds.fields().addField(fieldNum(VendTable,VendGroup)); 

   // qr= new QueryRun(query); 

    msCtrl = SysLookupMultiSelectCtrl::constructWithQuery(element, Customerid , query);//dynamic Query 

//msCtrl = SysLookupMultiSelectCtrl::construct(element, Customerid ,queryStr(query)); //static query 

   // msCtrl=SysLookupMultiSelectCtrl::constructWithQueryRun(element,Customerid,queryStr(qr)); 

    //querystr() 

} 

public void lookup() 

{ 

 

   // CustTable custTable; 

   // SalesTable salesTable; 

     container         con; 

    int               i; 

 

 

    SysTableLookup sysTableLookup; 

 

    Query                   query = new Query(); 

 

        QueryBuildDataSource    qbds,qbdcust; 

 

        QueryBuildRange         qbr; 

 

        SysTableLookup          lookup; 

    str value=Customerid.valueStr(); 

       super(); 

    con=msCtrl.getSelectedFieldValues(); 

 

        sysTableLookup = SysTableLookup::newParameters(tableNum(SalesTable),this); 

      qbds=query.addDataSource(tableNum(SalesTable)); 

 

     for (i=1;i<=conLen(con);i++) 

    { 

 

 

 

 

        qbr=qbds.addRange(fieldNum(SalesTable, CustAccount)); 

 

 

        qbr.value(conPeek(con,i)); 

           sysTableLookup.parmQuery(query); 

 

    } 

 

 

 

        sysTableLookup.addLookupfield(fieldNum(SalesTable,SalesId)); 

 

        sysTableLookup.addLookupfield(fieldNum(SalesTable,CustAccount)); 

 

        sysTableLookup.performFormLookup(); 

 

 

 

} 

 

No comments:

Post a Comment