过滤网格存储时,GXT调整网格和字段集

时间:2014-10-14 15:08:37

标签: java gxt

我有一个内部有网格的字段集。我将过滤器应用于网格存储,并希望在应用过滤器时调整字段集和网格的大小。我在商店里有听众,但我不能为我的生活找出如何调整两个组件的大小。

我正在使用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
    }
});

1 个答案:

答案 0 :(得分:0)

破解了! fieldSetgrid都需要setAutoHeight(true)并触发StoreListener中的以下事件:

grid.getStore().addStoreListener(new StoreListener<OptionModel>() {
  public void storeFilter(StoreEvent<OptionModel> se) {
    questionFieldSet.fireEvent(Events.Expand);
    questionFieldSet.fireEvent(Events.Resize);
  }
});