Gwt ListGrid列自动调整布局 ListGrid ListGrid=new ListGrid(); setWidth100(); 设置字段(f1、f2); vlayout.addMember(列表网格); listGrid.setAutoFitFieldsFillViewport(false); listGrid.setAutoFitFieldWidths(false); listGrid.setCanAutoFitFields(false); ListGridField[]listGridFields=listGrid.getFields(); for(ListGridField ListGridField:listGridFields){ setAutoFitWidth(true); }

Gwt ListGrid列自动调整布局 ListGrid ListGrid=new ListGrid(); setWidth100(); 设置字段(f1、f2); vlayout.addMember(列表网格); listGrid.setAutoFitFieldsFillViewport(false); listGrid.setAutoFitFieldWidths(false); listGrid.setCanAutoFitFields(false); ListGridField[]listGridFields=listGrid.getFields(); for(ListGridField ListGridField:listGridFields){ setAutoFitWidth(true); },gwt,smartgwt,Gwt,Smartgwt,我有这些行,但是当我调整我放置listGrid的窗口的大小时,这些字段不会调整大小并适应新的宽度 有人能帮我把这个列表网格的字段宽度调整到适合窗口的宽度吗 那么如果我说: ListGridField[]listGridFields=listGrid.getFields(); for(ListGridField ListGridField:listGridFields){ setWidth(“100%”); } 它解决了我第一次调整窗口大小时的问题。但是调整字段的大小会在最后一个字段和listG

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

有人能帮我把这个列表网格的字段宽度调整到适合窗口的宽度吗

那么如果我说:

ListGridField[]listGridFields=listGrid.getFields();
for(ListGridField ListGridField:listGridFields){
setWidth(“100%”);
}
它解决了我第一次调整窗口大小时的问题。但是调整字段的大小会在最后一个字段和listGrid的边框之间的右侧产生间隙

有办法解决这个问题吗?

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

有可能得到这样的结果吗:


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

最后,我尝试了
listGridField.setWidth(“100%”)

所以答案是:

ListGridField[] listGridFields = listGrid.getFields();
for (ListGridField listGridField : listGridFields) {
  listGridField.setWidth("100%");
}
listGrid.getField("FIELDNAME").setWidth(30);
为至少一个字段指定固定宽度,响应我的期望


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

我得到了这样的答案:“listGrid.setWidth100();”是否正确?我认为“setWidth(“100%”)也是一样的。好吧,你现在已经编辑了你的答案,setWidth100根据API是一样的。在这种情况下,listGrid很可能受到父窗口小部件/元素的约束。在这种情况下,我发现Chrome调试实用程序非常有用,它可以帮助您快速定位具有固定宽度的元素。按12键检查DOMIn事实,我希望字段宽度跟随窗口的大小调整。看起来listGrid的宽度合适,但它的字段宽度不合适
ListGridField[] listGridFields = listGrid.getFields();
for (ListGridField listGridField : listGridFields) {
  listGridField.setWidth("100%");
}
listGrid.getField("FIELDNAME").setWidth(30);