Иногда возникает необходимость изменять ширину столбца таблицы динамически в зависимости от того какой ширины будет содержимое в ячейке.
width = // вычисляем новую ширину столбца
// задаем столбцу новую ширину - 5 - номер столбца
grid.getColumnModel().getColumn(5).setWidth(width);
// перерисовываем таблицу с новым значением ширины столбца
// перерисовываем таблицу с новым значением ширины столбца
grid.getView().refresh(true);
// теперь, если у нас в столбце содержится не просто текст, а // сложный элемент,например ContentPanel, то содержимое тоже // нужно растянуть на новую длину
for (int i = 0; i < grid.getStore().getCount(); i++) {
Widget widget = grid.getView().getWidget(i, 5);
BoxComponent bc = ((BoxComponent) widget);
ContentPanel cp = (ContentPanel) bc;
// отнимаем 10 для того чтобы содержимое хорошо вписывалось в //столбец
// теперь, если у нас в столбце содержится не просто текст, а // сложный элемент,например ContentPanel, то содержимое тоже // нужно растянуть на новую длину
for (int i = 0; i < grid.getStore().getCount(); i++) {
Widget widget = grid.getView().getWidget(i, 5);
BoxComponent bc = ((BoxComponent) widget);
ContentPanel cp = (ContentPanel) bc;
// отнимаем 10 для того чтобы содержимое хорошо вписывалось в //столбец
cp.setWidth(width - 10);
}
}