GWT celltable Как создать выделенную ячейку в edittextcell? - PullRequest
0 голосов
/ 04 ноября 2011

Я хочу создать редактируемую ячейку с логическим типом данных.

Я не хочу использовать selectioncell для логического типа данных

Ячейка моего столбца testBooleanColumn содержит строку со значением true, false ..........

когда я нажму на ячейку, присутствующую в testBooleanColumn, тогда эта ячейка должна быть редактируемой, и в этой редактируемой ячейке я хочу показать ячейку выделения со значением (true, false). когда пользователь изменяет значение из selectioncell или true или false, это значение устанавливается на редактируемую ячейку в testBooleanColumn

Как это сделать? любой намек? или пример кода для этого варианта использования?

1 Ответ

0 голосов
/ 04 ноября 2011

Для этого есть три способа:

  1. Использовать CompositeCell с ClickTextCell и SelectionCell и переопределите метод рендеринга CompositeCell для рендеринга только ClickTextCell.
    При нажатии ClickTextCell он автоматически вызовет ValueUpdater .
    В функции обновления ValueUpdater вам необходимо установить некоторыелогическое значение в вашем ClickTextCell.Затем вы должны проверить в методе рендеринга вашего CompositeCell это логическое значение, и если оно установлено, тогда выполнить визуализацию SelectionCell вместо ClickTextCell.

  2. Создайте пользовательскую ячейку, например, расширяющую AbstractEditableCell (см. Это учебное пособие ), и реализуйте эту функциональность самостоятельно.Вы можете проверить код для SelectionCell и EditTextCell и скопировать большую его часть.В основном у вас должен быть какой-то флаг, который устанавливается, когда ячейка получает фокус.В методе рендеринга вы должны отобразить выпадающий список или просто текст.

  3. Расширьте EditTextCell или SelectionCell и реализуйте недостающие функциональные возможности.Преимущество состоит в том, что вы, вероятно, можете повторно использовать некоторые методы рендеринга, и вам не нужно писать полный код рендеринга самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...