Example usage for com.google.gwt.user.cellview.client AbstractCellTable addColumnSortHandler

List of usage examples for com.google.gwt.user.cellview.client AbstractCellTable addColumnSortHandler

Introduction

In this page you can find the example usage for com.google.gwt.user.cellview.client AbstractCellTable addColumnSortHandler.

Prototype

public HandlerRegistration addColumnSortHandler(ColumnSortEvent.Handler handler) 

Source Link

Document

Add a handler to handle ColumnSortEvent s.

Usage

From source file:com.github.gwtbootstrap.showcase.client.CellTables.java

License:Apache License

private void initTable(AbstractCellTable<Person> exampleTable, final SimplePager pager,
        final Pagination pagination) {
    exampleTable.setEmptyTableWidget(new Label("Please add data."));

    TextColumn<Person> idCol = new TextColumn<Person>() {

        @Override/*w  w w.  j av  a 2  s.  com*/
        public String getValue(Person object) {
            return String.valueOf(object.getId());
        }
    };

    idCol.setSortable(true);

    exampleTable.addColumn(idCol, "#");

    ListHandler<Person> idColHandler = new ListHandler<Person>(dataProvider.getList());

    idColHandler.setComparator(idCol, new Comparator<Person>() {

        @Override
        public int compare(Person o1, Person o2) {
            return o1.getId().compareTo(o2.getId());
        }
    });

    exampleTable.addColumnSortHandler(idColHandler);

    exampleTable.getColumnSortList().push(idCol);

    TextColumn<Person> userNameCol = new TextColumn<Person>() {

        @Override
        public String getValue(Person object) {
            return object.getUserName();
        }
    };
    userNameCol.setSortable(true);
    exampleTable.addColumn(userNameCol, "User Name");

    ListHandler<Person> userNameColHandler = new ListHandler<Person>(dataProvider.getList());

    userNameColHandler.setComparator(userNameCol, new Comparator<Person>() {

        @Override
        public int compare(Person o1, Person o2) {
            return o1.getUserName().compareTo(o2.getUserName());
        }
    });

    exampleTable.addColumnSortHandler(userNameColHandler);

    TextColumn<Person> ageCol = new TextColumn<Person>() {

        @Override
        public String getValue(Person object) {
            return object.getAge() != null ? String.valueOf(object.getAge()) : "";
        }
    };
    ageCol.setSortable(true);
    exampleTable.addColumn(ageCol, "Age");

    ListHandler<Person> ageColHandler = new ListHandler<Person>(dataProvider.getList());

    ageColHandler.setComparator(ageCol, new Comparator<Person>() {

        @Override
        public int compare(Person o1, Person o2) {
            if (o2.getAge() == null) {
                return 1;
            }

            if (o1.getAge() == null) {
                return -1;
            }
            return o1.getAge().compareTo(o2.getAge());
        }
    });

    exampleTable.addColumnSortHandler(ageColHandler);

    TextColumn<Person> birthDayCol = new TextColumn<Person>() {

        @Override
        public String getValue(Person object) {
            if (object.getBirthDay() != null) {
                return DateTimeFormat.getFormat("dd/MM/yyyy").format(object.getBirthDay());
            } else {
                return "";
            }
        }
    };

    exampleTable.addColumn(birthDayCol, "Birth Day");

    birthDayCol.setSortable(true);

    ListHandler<Person> birthDayColHandler = new ListHandler<Person>(dataProvider.getList());
    birthDayColHandler.setComparator(birthDayCol, new Comparator<Person>() {

        @Override
        public int compare(Person o1, Person o2) {
            if (o2.getBirthDay() == null) {
                return 1;
            }

            if (o1.getBirthDay() == null) {
                return -1;
            }

            return o1.getBirthDay().compareTo(o2.getBirthDay());
        }
    });

    exampleTable.addColumnSortHandler(birthDayColHandler);

    TextColumn<Person> favoriteCol = new TextColumn<Person>() {

        @Override
        public String getValue(Person object) {
            return object.getFavorite().getDisplayLabel();
        }
    };

    favoriteCol.setSortable(true);
    exampleTable.addColumn(favoriteCol, "Favorite");

    ListHandler<Person> favoriteColHandler = new ListHandler<Person>(dataProvider.getList());

    favoriteColHandler.setComparator(favoriteCol, new Comparator<Person>() {

        @Override
        public int compare(Person o1, Person o2) {
            return o1.getFavorite().compareTo(o2.getFavorite());
        }
    });

    exampleTable.addColumnSortHandler(favoriteColHandler);

    exampleTable.addRangeChangeHandler(new RangeChangeEvent.Handler() {

        @Override
        public void onRangeChange(RangeChangeEvent event) {
            rebuildPager(pagination, pager);
        }
    });

    ButtonCell buttonCell = new ButtonCell(IconType.REMOVE, ButtonType.DANGER);

    final TooltipCellDecorator<String> decorator = new TooltipCellDecorator<String>(buttonCell);
    decorator.setText("delete row, if click");

    Column<Person, String> buttonCol = new Column<Person, String>(decorator) {

        @Override
        public String getValue(Person object) {
            return "delete";
        }
    };

    buttonCol.setFieldUpdater(new FieldUpdater<Person, String>() {

        @Override
        public void update(int index, Person object, String value) {
            dataProvider.getList().remove(object);
            dataProvider.flush();
            dataProvider.refresh();
            rebuildPager(pagination, pager);
            rebuildPager(dataGridPagination, dataGridPager);

        }
    });

    exampleTable.addColumn(buttonCol);

    final SingleSelectionModel<Person> selectionModel = new SingleSelectionModel<Person>();

    selectionModel.addSelectionChangeHandler(new Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            Person person = selectionModel.getSelectedObject();

            CellTables.this.driver.edit(person);
        }
    });

    exampleTable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);

    exampleTable.setSelectionModel(selectionModel);

    pager.setDisplay(exampleTable);

    pagination.clear();

    dataProvider.addDataDisplay(exampleTable);
}

From source file:com.github.gwtbootstrap.showcase.client.forms.CellTables.java

License:Apache License

private void initTable(AbstractCellTable<Person> exampleTable, final SimplePager pager,
        final Pagination pagination) {
    exampleTable.setEmptyTableWidget(new Label("Please add data."));

    TextColumn<Person> idCol = new TextColumn<Person>() {

        @Override/* www. ja v  a 2s. c o m*/
        public String getValue(Person object) {
            return String.valueOf(object.getId());
        }
    };

    idCol.setSortable(true);

    exampleTable.addColumn(idCol, "#");

    ListHandler<Person> idColHandler = new ListHandler<Person>(dataProvider.getList());

    idColHandler.setComparator(idCol, new Comparator<Person>() {

        @Override
        public int compare(Person o1, Person o2) {
            return o1.getId().compareTo(o2.getId());
        }
    });

    exampleTable.addColumnSortHandler(idColHandler);

    exampleTable.getColumnSortList().push(idCol);

    TextColumn<Person> userNameCol = new TextColumn<Person>() {

        @Override
        public String getValue(Person object) {
            return object.getUserName();
        }
    };
    userNameCol.setSortable(true);
    exampleTable.addColumn(userNameCol, "User Name");

    ListHandler<Person> userNameColHandler = new ListHandler<Person>(dataProvider.getList());

    userNameColHandler.setComparator(userNameCol, new Comparator<Person>() {

        @Override
        public int compare(Person o1, Person o2) {
            return o1.getUserName().compareTo(o2.getUserName());
        }
    });

    exampleTable.addColumnSortHandler(userNameColHandler);

    TextColumn<Person> ageCol = new TextColumn<Person>() {

        @Override
        public String getValue(Person object) {
            return object.getAge() != null ? String.valueOf(object.getAge()) : "";
        }
    };
    ageCol.setSortable(true);
    exampleTable.addColumn(ageCol, "Age");

    ListHandler<Person> ageColHandler = new ListHandler<Person>(dataProvider.getList());

    ageColHandler.setComparator(ageCol, new Comparator<Person>() {

        @Override
        public int compare(Person o1, Person o2) {
            if (o2.getAge() == null) {
                return 1;
            }

            if (o1.getAge() == null) {
                return -1;
            }
            return o1.getAge().compareTo(o2.getAge());
        }
    });

    exampleTable.addColumnSortHandler(ageColHandler);

    TextColumn<Person> birthDayCol = new TextColumn<Person>() {

        @Override
        public String getValue(Person object) {
            if (object.getBirthDay() != null) {
                return DateTimeFormat.getFormat("dd/MM/yyyy").format(object.getBirthDay());
            } else {
                return "";
            }
        }
    };

    exampleTable.addColumn(birthDayCol, "Birth Day");

    birthDayCol.setSortable(true);

    ListHandler<Person> birthDayColHandler = new ListHandler<Person>(dataProvider.getList());
    birthDayColHandler.setComparator(birthDayCol, new Comparator<Person>() {

        @Override
        public int compare(Person o1, Person o2) {
            if (o2.getBirthDay() == null) {
                return 1;
            }

            if (o1.getBirthDay() == null) {
                return -1;
            }

            return o1.getBirthDay().compareTo(o2.getBirthDay());
        }
    });

    exampleTable.addColumnSortHandler(birthDayColHandler);

    TextColumn<Person> favoriteCol = new TextColumn<Person>() {

        @Override
        public String getValue(Person object) {
            return object.getFavorite().getDisplayLabel();
        }
    };

    favoriteCol.setSortable(true);
    exampleTable.addColumn(favoriteCol, "Favorite");

    ListHandler<Person> favoriteColHandler = new ListHandler<Person>(dataProvider.getList());

    favoriteColHandler.setComparator(favoriteCol, new Comparator<Person>() {

        @Override
        public int compare(Person o1, Person o2) {
            return o1.getFavorite().compareTo(o2.getFavorite());
        }
    });

    exampleTable.addColumnSortHandler(favoriteColHandler);

    exampleTable.addRangeChangeHandler(new RangeChangeEvent.Handler() {

        @Override
        public void onRangeChange(RangeChangeEvent event) {
            rebuildPager(pagination, pager);
        }
    });

    pager.setDisplay(exampleTable);

    pagination.clear();

    dataProvider.addDataDisplay(exampleTable);
}