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