summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/src/com/vaadin/client/ui/grid/Grid.java19
1 files changed, 10 insertions, 9 deletions
diff --git a/client/src/com/vaadin/client/ui/grid/Grid.java b/client/src/com/vaadin/client/ui/grid/Grid.java
index d1541ba505..d03197e2ef 100644
--- a/client/src/com/vaadin/client/ui/grid/Grid.java
+++ b/client/src/com/vaadin/client/ui/grid/Grid.java
@@ -385,6 +385,15 @@ public class Grid<T> extends Composite implements
Element cellElement = cell.getElement();
if (grid.getColumn(cell.getColumn()).isSortable()) {
if (sortingOrder != null) {
+ if (SortDirection.ASCENDING == sortingOrder
+ .getDirection()) {
+ cellElement.replaceClassName("sort-desc",
+ "sort-asc");
+ } else {
+ cellElement.replaceClassName("sort-asc",
+ "sort-desc");
+ }
+
int sortIndex = grid.getSortOrder().indexOf(
sortingOrder);
if (sortIndex > -1
@@ -497,12 +506,6 @@ public class Grid<T> extends Composite implements
boolean multisort) {
TableCellElement th = TableCellElement.as(cell.getElement());
- if (SortDirection.ASCENDING.equals(direction)) {
- th.replaceClassName("sort-desc", "sort-asc");
- } else {
- th.replaceClassName("sort-asc", "sort-desc");
- }
-
// Apply primary sorting on clicked column
GridColumn<C, T> columnInstance = getColumnInstance();
Sort sorting = Sort.by(columnInstance, direction);
@@ -519,9 +522,6 @@ public class Grid<T> extends Composite implements
// Perform sorting
grid.sort(sorting);
-
- // Update header indicators
- grid.refreshHeader();
}
/**
@@ -2448,6 +2448,7 @@ public class Grid<T> extends Composite implements
* Apply sorting to data source.
*/
private void sort() {
+ refreshHeader();
fireEvent(new SortEvent<T>(this,
Collections.unmodifiableList(sortOrder)));
}