Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

Grouping order in list grid

$
0
0
SmartClient Version: v9.1p_2014-05-18/PowerEdition Deployment (built 2014-05-18)

Hi,
is ther a way to custom sort the groups in a ListGrid ? SortNormalizer won't work. Only SortSpecifier with SortDirection seems to change the order.

Code:

                caseListGrid = new ListGrid();               
                        caseListGrid.setAutoFetchData(true);       
                        caseListGrid.setShowFilterEditor(true);
                        caseListGrid.setDataFetchMode(FetchMode.LOCAL);
                        caseListGrid.setAlign(VerticalAlignment.CENTER);
                        caseListGrid.setHeaderHeight(45);
                        ListGridField name = new ListGridField(CaseModel.NAME, "Name");       
                        name.setAlign(Alignment.LEFT);
                        ListGridField manager = new ListGridField(CaseModel.MANAGER, "Manager");
                        manager.setAlign(Alignment.CENTER);
                        ListGridField openDate = new ListGridField(CaseModel.OPEN_DATE, "Open date", 90);
                        openDate.setAlign(Alignment.CENTER);
                        //ListGridField archiveDate = new ListGridField(CasesDS._archiveDate, "Archive Date");
                        ListGridField closeDate = new ListGridField(CaseModel.CLOSE_DATE, "Close date", 90);
                        closeDate.setAlign(Alignment.CENTER);
                        ListGridField numberOfDocs = new ListGridField(CaseModel.NUM_OF_DOC, "No. of entries", NUMBER_VALUE_CLUMND_WIDTH);
                        numberOfDocs.setWrap(true);
                        numberOfDocs.setAlign(Alignment.CENTER);
                        ListGridField documentDateRange = new ListGridField(CaseModel.DOC_DATE_RANGE, "Document date range");
                        documentDateRange.setAlign(Alignment.CENTER);
                        ListGridField numOfQueries = new ListGridField(CaseModel.NUM_OF_QUERIES, "No. of Queries", NUMBER_VALUE_CLUMND_WIDTH);
                        numOfQueries.setWrap(true);
                        numOfQueries.setAlign(Alignment.CENTER);
                        ListGridField internalExports = new ListGridField(CaseModel.INTERNAL_EXPORTS, "Internal Exports", NUMBER_VALUE_CLUMND_WIDTH);
                        internalExports.setWrap(true);
                        internalExports.setAlign(Alignment.CENTER);
                        ListGridField numberOfAssignemtns = new ListGridField(CaseModel.NUM_OF_ASSIGNEMNTS, "No. of members", NUMBER_VALUE_CLUMND_WIDTH);
                        numberOfAssignemtns.setWrap(true);
                        numberOfAssignemtns.setAlign(Alignment.CENTER);
                        ListGridField status = new ListGridField(CaseModel.CASE_STATUS_LABLE, "Status");
                        status.setSortNormalizer(new SortNormalizer() {
                               
                                @Override
                                public Object normalize(ListGridRecord record, String fieldName) {
                                        //System.err.println(record.getAttribute(CasesDS.NAME) + record.getAttribute(CasesDS.CASE_STATUS));
                                        String status = record.getAttribute(CaseModel.CASE_STATUS);
                                        if (status != null) {
                                                switch (CaseStatusC.valueOf(status)) {
                                                case NEW:
                                                        return 5;
                                                case OPEN:
                                                        return 4;
                                                case REOPENED:
                                                        return 3;
                                                case DISCOVERY_CLOSED:
                                                        return 2;
                                                case CLOSED:
                                                        return 1;
                                                default:
                                                        break;
                                                }
                                               
                                        }
                                        return 1;
                                }
                        });
                        status.setHidden(true);
                       
                        caseListGrid.setFields(name, manager, openDate,
                                        closeDate, numberOfDocs, documentDateRange,
                                        numOfQueries, internalExports, numberOfAssignemtns, status);
                        caseListGrid.setInitialSort(
                                        new SortSpecifier(CaseModel.CASE_STATUS_LABLE, SortDirection.DESCENDING));
                        caseListGrid.setGroupStartOpen(GroupStartOpen.ALL);
                       
                        caseListGrid.setFilterLocalData(true);                       
                        caseListGrid.groupBy(CaseModel.CASE_STATUS_LABLE);


Viewing all articles
Browse latest Browse all 4756

Trending Articles