Разрешить прокрутку и сортировку в GWT Grid - PullRequest
3 голосов
/ 09 ноября 2011

Добрый день.Я делаю приложение с таблицами, используя GWT Grid.Теперь я хочу, чтобы у моего GWT Grid было значение scrollbar, когда rowCount больше 15. Заголовок не является частью прокручиваемой области.

Мои проблемы:

  1. Как включить прокрутку содержимого таблицы / таблицы без включения заголовка?
  2. Как сделать заголовок таблицы похожим на кнопкупри этом пользователи могут щелкнуть по нему, чтобы отсортировать конкретный столбец?

Мой текущий код разрешит прокрутку, когда rowCount> 15, включая заголовок.Пожалуйста помоги.Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 09 ноября 2011

Может быть, пришло время переключиться на виджеты ячеек и DataGrid.

  1. Javadoc
  2. Живой пример (с кодом)
  3. Документация по виджетам ячеек и способу сортировки столбцов (DataGrid почти похож на CellTable).
0 голосов
/ 09 ноября 2011

Прокрутка

В этом посте я не буду углубляться в GWT, но постараюсь дать несколько советов о том, как выполнить прокрутку.

Если данные вашей таблицы заключены в отдельный тег, а не в тело таблицы, то это не должно быть проблемой.Если структура таблицы похожа на следующую, это не должно быть проблемой:

<table>
    <thead>
        <tr>
            <th>ColumnHeader1</th>
            <th>ColumnHeader2</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th>Data1</th>
            <th>Data2</th>
        </tr>
    </tbody>
</table>

Чтобы сделать часть данных вертикально прокручиваемой, вы должны добавить стиль CSS к элементу <tbody>, который устанавливает overflow-y: scroll; когда число строк больше 15. Также вам нужно установить высоту или ограничить ее высоту другими средствами (контейнер для переноса) для отображения полосы прокрутки.

Чтобы установить высоту, я бы посоветовалполучить высоту смещения <tbody> сразу после добавления 15-го ряда и заставить его остаться на этом уровне.Это может выглядеть так:

tbodyElement.setHeight(tbodyElement.getOffsetHeight());

Помните, это нужно сделать сразу после добавления 15-й строки.

Сортировка

Для этогоВы должны обернуть имена заголовков столбцов в какую-то Widget.Это может быть HTML или Label, например.Вам просто нужно добавить ClickHandler s к ним и немного стиля, чтобы заполнить всю ячейку и курсор, чтобы переключиться на руку с CSS cursor: pointer; при наведении на нее курсора.

Заключение

Ну, это был мой легкий обзор этого.Не видя код, который вы сделали, трудно идти дальше.

...