Поиск по этому блогу

вторник, 25 сентября 2012 г.

Как в GXT изменить ширину столбца таблицы по нажатию кнопки



Иногда возникает необходимость изменять ширину столбца таблицы динамически в зависимости от того какой ширины будет содержимое в ячейке. 

int width;
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 для того чтобы содержимое хорошо вписывалось в    //столбец
 cp.setWidth(width - 10); 

Комментариев нет:

Отправить комментарий