我有一个包含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");
答案 0 :(得分:0)
我认为您可以像这样在ColonneDate上对ListGrid进行排序:
SortSpecifier sortSpecifier = new SortSpecifier("colonneDateFieldName", SortDirection.ASCENDING);
SortSpecifier[] sortSpecifiers = { sortSpecifier };
setSort(sortSpecifiers);