• Home
  • Contact Me
  • About Me
  • Resources
  • Favorites
  • Earn Money

Saturday, September 27, 2008

EGL: Sorting Datatable Columns

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.
  1. 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;
    }
    }
  2. 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
  3. 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: