2012-02-09 5 views
0

У меня есть ListGrid с 3 столбцами, один из них скрыт, но он ничего не меняет в этой проблеме. Я хочу группировать значение 3-го и скрытого полей, даты. Когда эта дата отсутствует (null), я хочу поместить запись в группу «Фактические проекты», иначе они войдут в группу «Закрытые проекты». Это работает, но я хочу, чтобы группа Actual Project была первой, и я пробую много вещей с направлением сортировки поля и сетки, а также с baseTitle Я возвращаюсь. Это никогда не меняет, у меня всегда есть группа с ненулевым значением. Я что-то упустил? Есть ли у кого-то, кто испытал групповой порядок?Smartgwt ListGrid Групповой заказ

final int groupClosed = 2; 
    final int groupActual = 1; 


    colonneDate.setGroupValueFunction(new GroupValueFunction() { 
     public Object getGroupValue(Object value, ListGridRecord record, ListGridField field, String fieldName, ListGrid grid) { 
      Date laDate = (Date)value;    
      if(laDate == null) { 
       return groupActual; 
      } else { 
       return groupClosed; 
      } 
     } 
    }); 
    colonneDate.setGroupTitleRenderer(new GroupTitleRenderer() { 

     @Override 
     public String getGroupTitle(Object groupValue, GroupNode groupNode, 
       ListGridField field, String fieldName, ListGrid grid) { 
      final int groupType = (Integer) groupValue; 
      String baseTitle =""; 

      switch (groupType){ 
      case groupActual: 
       baseTitle ="Actual Projects"; 
       break; 
      case groupClosed: 
        baseTitle ="Closed Projects"; 
       break; 

      }   
      return baseTitle; 
     }    
    }); 


listeGridProjets.setGroupByField("date"); 
+0

Попробуйте иметь взгляд на мой ответ [здесь] [1]. [1]: http://stackoverflow.com/a/21468147/2662285 –

+0

Извините, но я больше не работаю над этим проектом и не имею доступа к источникам, чтобы попробовать. Спасибо, в любом случае –

ответ

0

Я думаю, вы можете отсортировать ListGrid на вашем colonneDate так:

SortSpecifier sortSpecifier = new SortSpecifier("colonneDateFieldName", SortDirection.ASCENDING); 
SortSpecifier[] sortSpecifiers = { sortSpecifier }; 
setSort(sortSpecifiers); 
Смежные вопросы