2012-02-09 55 views
0

我有一个ListGrid 3列,一个是隐藏的,但它不会改变任何问题。 我想分组的第三和隐藏的领域,一个日期。当此日期不存在时(空)我想将记录放入“实际项目”组中,否则他们将进入“已关闭的项目”组。 它的工作原理,但我希望有组实际项目第一,我尝试了很多事情与领域和网格的排序方向,并与baseTitle我回来。它永远不会改变我总是先拥有非null值的组。 我错过了什么吗?有没有人经历过团体订单?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 – 2014-01-30 21:53:54

+0

很抱歉,但我没有在这个项目上工作了,并没有对任何来源的访问尝试。不管怎么说,还是要谢谢你 – 2014-02-13 11:53:19

回答

0

我认为你可以这样对你colonneDate排序您ListGrid:

SortSpecifier sortSpecifier = new SortSpecifier("colonneDateFieldName", SortDirection.ASCENDING); 
SortSpecifier[] sortSpecifiers = { sortSpecifier }; 
setSort(sortSpecifiers);