0
ListGrid listGrid = new ListGrid();

listGrid.setWidth100();

listGrid.setFields(f1, f2);
vlayout.addMember(listGrid);

listGrid.setAutoFitFieldsFillViewport(false);
listGrid.setAutoFitFieldWidths(false);
listGrid.setCanAutoFitFields(false);

ListGridField[] listGridFields = listGrid.getFields();
for (ListGridField listGridField : listGridFields) {
  listGridField.setAutoFitWidth(true);
}

我有这条线,但是当我调整放置 listGrid 的窗口大小时,这些字段不会调整大小并适合新的宽度。

有人可以帮我使这个 listGrid 的字段宽度适合窗口吗?

然后,如果我把这个:

ListGridField[] listGridFields = listGrid.getFields();
for (ListGridField listGridField : listGridFields) {
  listGridField.setWidth("100%");
}

当我第一次调整窗口大小时,它解决了这个问题。但是调整一个字段的大小会在最后一个字段和 listGrid 的边框之间产生一个间隙。

有没有办法解决这个问题?

摘要:
有没有办法让 listGrid 通过调整窗口大小自动调整大小?
有没有办法让 listGrid 的字段总是适合 listGrid 的大小,而 listGrid 的大小总是适合其父级的宽度?

是否有可能得到这个结果:http: //jsfiddle.net/lnplnp/kJLGd/

4

2 回答 2

1
listGrid.setWidth("100%");

你试过这个吗?如果它没有填满窗口检查父约束。

于 2012-10-08T08:23:29.697 回答
0

最后我试过了listGridField.setWidth("100%");

所以答案是:

ListGridField[] listGridFields = listGrid.getFields();
for (ListGridField listGridField : listGridFields) {
  listGridField.setWidth("100%");
}
listGrid.getField("FIELDNAME").setWidth(30);

为至少一个字段分配固定宽度,响应我的期望。

它在大多数情况下都有效,但有时这种方法无法正常工作。我无法描述确切的情况。如果我发现它不起作用的原因,我将编辑此响应。

于 2012-10-08T13:29:58.880 回答