Menu

using list of map, sorting map help

2008-07-23
2012-10-09
  • Gunaselan Varathan

    Hi All,
    I am creating a list of map, in the map i am specifying both column and value dynamically. i could able to display using the display tag.

    I am wondering how to enable Sorting on each column of the map.

    note: i could find sortable column only in the <display:column ..> tag,. but i cannot use this in this case because, i don't know how many columns would i display each time.

    following is the sample code i am using.
    List listOfSearchValue = new ArrayList();
    for(int i=0; i <10; i++)
    {
    SortedMap sortedMap = new TreeMap();
    sortedMap.put("name","name_" + i);
    sortedMap.put("address","address_" + i);
    sortedMap.put("city","city_" + i);
    sortedMap.put("state","state_" + i);
    listOfSearchValue.add(sortedMap);
    }

    <display:table name="SearchResult" id= "result" requestURI="refferencePaResponseListPopulateAction.do" pagesize="15" sort="list" class="displaytablestyles" >
    </display:table>
    please help me to find a way to sort columns name, address, city and state in the above example.

    Thanks
    Guna

     
    • Ed Webb

      Ed Webb - 2008-08-02

      You are right. The only place you can tell DisplayTag that the column should be sortable is in the <display:column> tag. You will need to find a way to store the names of the keys in your maps and iterate through them to create a series of <display:column> tags:

      <display:table name="SearchResult" id= "result" [snip] >
      <c:forEach items="${mykeys}" var="key">
      <display:column property="${key}" sortable="true"/>
      </c:forEach>
      </display:table>

      Ed!

       

Log in to post a comment.