There are many instances when we need to sort a particular column in a datatable. In this article I am trying to demonstrate one out of thousand options to sort a particular column in EGL.
- Create a Java Class:
public class DatatableSorting {
public List sortAsc(List list) {
Collections.sort(list);
return list;
}
public List sortDesc(List list) {
Comparator comparator = Collections.reverseOrder();
Collections.sort(list, comparator);
return list;
}
} - Create EGL External Type:
ExternalType DatatableSorting type JavaObject
{JavaName = "DatatableSorting", PackageName = "explore.your.thought.process"}
function sortAsc(sortableArray String[] inout) returns (String[]);
function sortDesc(sortableArray String[] inout) returns (String[]);
End - Use DatatableSorting in EGL File:
program test type BasicProgram {}
function main()
sortableArray String[]{"A", "B", "1", "2"};
sortingDatatableCols DatatableSorting = new DatatableSorting ();
sortingDatatableCols.sortAsc(sortableArray);
sortingDatatableCols.sortDesc(sortableArray);
end
end
Note: If we notice carefully the java functions sortAsc and sortDesc accepts list as parameter and returns a list. However in out EGL it is actually String[]. This is because in EGL string[] will be generated to list in Java.
I will be writing one more article on sorting multiple columns based on reflection shortly.
Your comments are most welcome.
Regards
Monu






No comments:
Post a Comment