1) Create a class that extends the runbase class.
2) write a main method to handle the class methods and its arugments
In main method declare the below helper class
MultiSelectionHelper helper;//multiselect
and also validate the class is invoked based on correct paramaters and caller
for example: if(_args && _args.dataset() == tableNum(VendInvoiceInfoTable))//if class is invoked from table VendInvoiceInfoTable.
also initialize the helper class as below
helper = MultiSelectionHelper::createFromCaller(_args.caller());
read the first record as vendInvoiceInfoTable = helper.getFirst();
and next records as vendInvoiceInfoTable = helper.getNext();
loop the multiple records recading
while (vendInvoiceInfoTable)
{
info(vendInvoiceInfoTable.num);
vendInvoiceInfoTable = helper.getNext();
}
refresh the caller form - formDataSourceRefresh(VendInvoiceInfoTable); this will help to show the data updated inmmidiately after the function runs.
Invoke this class using Action menu item and please make sure to setup the menu property :MultiSelect to YES whereever you add this menuitem on the form
complete example:
MultiSelectionHelper helper;//multiselect
if(_args && _args.dataset() == tableNum(VendInvoiceInfoTable))
{
helper = MultiSelectionHelper::createFromCaller(_args.caller());
vendInvoiceInfoTable = helper.getFirst();
if (pendingInvoiceUpdate.prompt())
{
while (vendInvoiceInfoTable)
{
if(vendInvoiceInfoTable ))
{
info(vendInvoiceInfoTable.num);
}
vendInvoiceInfoTable = helper.getNext();
}
formDataSourceRefresh(VendInvoiceInfoTable);//refresh the caller form
}
}
2) write a main method to handle the class methods and its arugments
In main method declare the below helper class
MultiSelectionHelper helper;//multiselect
and also validate the class is invoked based on correct paramaters and caller
for example: if(_args && _args.dataset() == tableNum(VendInvoiceInfoTable))//if class is invoked from table VendInvoiceInfoTable.
also initialize the helper class as below
helper = MultiSelectionHelper::createFromCaller(_args.caller());
read the first record as vendInvoiceInfoTable = helper.getFirst();
and next records as vendInvoiceInfoTable = helper.getNext();
loop the multiple records recading
while (vendInvoiceInfoTable)
{
info(vendInvoiceInfoTable.num);
vendInvoiceInfoTable = helper.getNext();
}
refresh the caller form - formDataSourceRefresh(VendInvoiceInfoTable); this will help to show the data updated inmmidiately after the function runs.
Invoke this class using Action menu item and please make sure to setup the menu property :MultiSelect to YES whereever you add this menuitem on the form
complete example:
MultiSelectionHelper helper;//multiselect
if(_args && _args.dataset() == tableNum(VendInvoiceInfoTable))
{
helper = MultiSelectionHelper::createFromCaller(_args.caller());
vendInvoiceInfoTable = helper.getFirst();
if (pendingInvoiceUpdate.prompt())
{
while (vendInvoiceInfoTable)
{
if(vendInvoiceInfoTable ))
{
info(vendInvoiceInfoTable.num);
}
vendInvoiceInfoTable = helper.getNext();
}
formDataSourceRefresh(VendInvoiceInfoTable);//refresh the caller form
}
}
No comments:
Post a Comment