Предотвращение переворачивания GWT EditTextCell при переключении между режимами редактирования и отсутствия редактирования - PullRequest
3 голосов
/ 24 августа 2011

Я заметил, что мое веб-приложение скачет по ширине ячейки, когда я нажимаю на свой EditTextCell.

Как я видел на http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable, это можно предотвратить.Также я видел решения, в которых EditTextCell находится в подклассах, что не является моим любимым.Но я не совсем понимаю, почему пример Google не скачет, а мой - нет.

Они используют CSS для предотвращения этого?

Вот мой код:

cellTable = new CellTable<MyTO>();
Column<MyTO, String> editableColumn = new Column<MyTO, String>(new EditTextCell()) {
@Override
public String getValue(MyTO my) {
  return my.getString();
}
};
editableColumn.setFieldUpdater(new FieldUpdater<MyTO, String>() {

@Override
public void update(int index, MyTO object,String value) {
object.setString(value);
dirty = true;
}
}); 

cellTable.addColumn(editableColumn, "Editable Column");

Насколько я видел в примере Google, метод setWidth () - не вызывается - но я не смог найти никакого уведомления о том, что применяется собственный стиль CSS ...

Есть намеки?Или, может быть, кто-то из Google тоже это сканирует и может помочь?

Привет, Крис

1 Ответ

2 голосов
/ 24 августа 2011

Если вы правы, Google устанавливает абсолютную ширину столбцов.Смотрите, например,

cellTable.setColumnWidth(checkColumn, 40, Unit.PX);

в файле «Пример».Это предотвращает прыжок столбца, поскольку он всегда имеет фиксированный размер.Если вы пристально смотрите на ячейку, когда она находится в режиме редактирования, вы замечаете, что текстовое поле следует немного больше (по крайней мере, в IE).

...