protected String resolveDefaultSortIcon(UIColumn column, SortMeta sortMeta) { SortOrder sortOrder = sortMeta.getSortOrder(); String sortIcon = null; if (column.getColumnKey().equals(sortMeta.getColumn().getColumnKey())) { if (sortOrder.equals(SortOrder.ASCENDING)) { sortIcon = DataTable.SORTABLE_COLUMN_ASCENDING_ICON_CLASS; } else if (sortOrder.equals(SortOrder.DESCENDING)) { sortIcon = DataTable.SORTABLE_COLUMN_DESCENDING_ICON_CLASS; } } return sortIcon; }
public MultiSortState(SortMeta sortMeta) { sortKey = sortMeta.getColumn().getColumnKey(); sortField = sortMeta.getSortField(); sortOrder = sortMeta.getSortOrder(); sortFunction = sortMeta.getSortFunction(); }
public void multiSort(FacesContext context, DataTable table) { Object value = table.getValue(); if (value == null) { return; } List<SortMeta> sortMeta = table.getMultiSortMeta(); List list = resolveList(value); boolean caseSensitiveSort = table.isCaseSensitiveSort(); Locale locale = table.resolveDataLocale(); int nullSortOrder = table.getNullSortOrder(); ChainedBeanPropertyComparator chainedComparator = new ChainedBeanPropertyComparator(); for (SortMeta meta : sortMeta) { BeanPropertyComparator comparator; UIColumn sortColumn = meta.getColumn(); ValueExpression sortByVE = sortColumn.getValueExpression(Column.PropertyKeys.sortBy.toString()); if (sortColumn.isDynamic()) { ((DynamicColumn) sortColumn).applyStatelessModel(); comparator = new DynamicChainedPropertyComparator( (DynamicColumn) sortColumn, sortByVE, table.getVar(), meta.getSortOrder(), sortColumn.getSortFunction(), caseSensitiveSort, locale, nullSortOrder); } else { comparator = new BeanPropertyComparator(sortByVE, table.getVar(), meta.getSortOrder(), sortColumn.getSortFunction(), caseSensitiveSort, locale, nullSortOrder); } chainedComparator.addComparator(comparator); } Collections.sort(list, chainedComparator); context.getApplication().publishEvent(context, PostSortEvent.class, table); }
public MultiSortState(SortMeta sortMeta) { this.sortKey = sortMeta.getColumn().getColumnKey(); this.sortField = sortMeta.getSortField(); this.sortOrder = sortMeta.getSortOrder(); this.sortFunction = sortMeta.getSortFunction(); }
protected String resolveDefaultSortIcon(UIColumn column, SortMeta sortMeta) { SortOrder sortOrder = sortMeta.getSortOrder(); String sortIcon = null; if (column.getColumnKey().equals(sortMeta.getColumn().getColumnKey())) { if (sortOrder.equals(SortOrder.ASCENDING)) { sortIcon = DataTable.SORTABLE_COLUMN_ASCENDING_ICON_CLASS; } else if (sortOrder.equals(SortOrder.DESCENDING)) { sortIcon = DataTable.SORTABLE_COLUMN_DESCENDING_ICON_CLASS; } } return sortIcon; }
for (SortMeta meta : sortMeta) { BeanPropertyComparator comparator; UIColumn sortColumn = meta.getColumn(); ValueExpression sortByVE = sortColumn.getValueExpression(Column.PropertyKeys.sortBy.toString());