voidclicked()
{
int recordsCount;
SalesTable salesTable;
container con;
Args args;
str multiSelectString;
args = newArgs();
// gets the total records selected
recordsCount = salesTable_ds.recordsMarked().lastIndex();
salesTable= salesTable_ds.getFirst(1);
while(salesTable)
{
// storing recid of selected record in container
con = conIns(con,1, salesTable.RecId);
// converting container to string with comma separated
multiSelectString = con2Str(con,’,’);
salesTable= SampleTable_ds.getNext(); // moves to next record
}
// passing string
args.parm(multiSelectString);
// calling menu item
newMenuFunction(menuitemDisplayStr(NewFormMenuItem), MenuItemType::Display).run(args);
}
Now in the above method we have already prepared our args in a container and have passed that to a new form of menu item "NewFormMenuItem"
In order to retrieve passed arguments in the recipient from. Override the init() method of new form as shown
public void init()
{
container con;
int i;
str multipleRecords;
super();
// to get string value from caller
multipleRecords = element.args().parm();
// string to container
con = str2con(multipleRecords,”,”);
// for sorting
for(i = 1;i<= conLen(con) ;i++)
{
salesTable_ds.query().dataSourceTable(Tablenum(SalesTable)).addRange(fieldNum(SalesTable,RecId)).value(SysQuery::value(conPeek(con,i)));
}
}
No comments:
Post a Comment