我有一个内部有网格的字段集。我将过滤器应用于网格存储,并希望在应用过滤器时调整字段集和网格的大小。我在商店里有听众,但我不能为我的生活找出如何调整两个组件的大小。
我正在使用GXT 2.4
这里有一些示例代码来提供上下文:
final FieldSet fieldSet = new FieldSet();
fieldSet.setHeading("Example");
fieldSet.setCollapsible(true);
fieldSet.setCheckboxToggle(true);
fieldSet.setExpanded(false);
mainFieldSet.add(fieldSet,new RowData(-1,-1,new Margins(10,0,0,0)));
ListStore<MyModel> store = new ListStore<MyModel>();
store.add(myModels);
CheckBoxSelectionModel<MyModel> sm = new CheckBoxSelectionModel<MyModel>();
List<ColumnConfig> columns = new ArrayList<ColumnConfig>();
columns.add(sm.getColumn());
ColumnConfig column = new ColumnConfig("id", "Id", 40);
column.setSortable(false);
columns.add(column);
column = new ColumnConfig("name", "Label",280);
column.setSortable(false);
columns.add(column);
final Grid<MyModel> grid = new Grid<MyModel>(store, new ColumnModel(columns));
grid.addPlugin(sm);
grid.setBorders(true);
grid.setSelectionModel(sm);
fieldSet.add(grid);
grid.getStore().addStoreListener(new StoreListener<MyModel>() {
public void storeFilter(StoreEvent<MyModel> se) {
// Need something here to resize both grid and fieldSet
}
});
答案 0 :(得分:0)
破解了! fieldSet
和grid
都需要setAutoHeight(true)
并触发StoreListener
中的以下事件:
grid.getStore().addStoreListener(new StoreListener<OptionModel>() {
public void storeFilter(StoreEvent<OptionModel> se) {
questionFieldSet.fireEvent(Events.Expand);
questionFieldSet.fireEvent(Events.Resize);
}
});