Smartgwt ListGrid Group订单

时间:2012-02-09 18:34:02

标签: sorting smartgwt

我有一个包含3列的ListGrid,其中一列是隐藏的,但它不会改变任何问题。 我想分组第3和隐藏字段的值,一个日期。当此日期不存在时(空)我想将记录放在“实际项目”组中,否则它们将进入“已关闭项目”组。 它的工作原理我想先将组实际项目放在第一位,然后尝试使用字段和网格的排序方向以及baseTitle返回的很多内容。它永远不会改变我总是首先拥有非null值的组。 我错过了什么吗?是否有人经历过团体订单?

   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");

1 个答案:

答案 0 :(得分:0)

我认为您可以像这样在ColonneDate上对ListGrid进行排序:

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