How to write code for sorting field in a grid

Assuming you are trying to sort field CustGroup on datasource CustTable:
1) add ComboBox on form, set Name=ComboSortOrder, AutoDeclaration=Yes and EnumType=SortOrder
2) override modified() method on ComboBox form control to call executeQuery() of the datasource
public boolean modified()
boolean ret;
ret = super();
return ret;
3) override executeQuery() method on datasource to change sortorder before actual fetch of records
public void executeQuery()
CustGroup), ComboSortOrder.selection()); // you can change that to //CustTable_ds.query().dataSourceNo(1).addSortField(fieldNum(CustTable,
//CustGroup), SortOrder::Ascending); //If you want to display fields in an ascending order.
Notice There is a sort method on each control, overriding which you can influence the actual actions which happed when you click on the header of a column

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.