# Relational Sorted Table Example

This example shows a table that is sorted by descending age, then by ascending name

/**

*

* A simple method creates a sorted relational table.

*

* @param list of data items in an information map.

* @param input data selection

* @return modified data selection

*

* @throws Exception

*/

private com.sas.iquery.metadata.business.DataSelection SortedRelationalTableDisplay(java.util.List dsDataItems, com.sas.iquery.metadata.business.DataSelection query) throws Exception

{

> //Sort items in the order given by the list.

> java.util.List sortItems = new java.util.ArrayList();

> for(int i = 0; i < dsDataItems.size(); i++)

> { com.sas.iquery.metadata.business.DataItem tdi = (com.sas.iquery.metadata.business.DataItem)dsDataItems.get(i);

> String label = tdi.getLabel();

> // Get columns to be sorted and apply sort

> if ( label.equalsIgnoreCase("Age") )

> { tdi.setSortDirection(com.sas.iquery.metadata.business.DataItemActionType.SORT_DESCENDING);

> sortItems.add(tdi);

> }

> else

> > if ( label.equalsIgnoreCase("Name") )

> > { tdi.setSortDirection(com.sas.iquery.metadata.business.DataItemActionType.SORT_DESCENDING);

> > sortItems.add(tdi);

> > }

> > // Assign Column to all dataitems and add to dataselection.

> > query.addResultItem(tdi, com.sas.iquery.metadata.business.Role.COLUMN);

> }

> query.setSortOrderPrecedence(sortItems);

> // Get data selection

> return query;

}