2012-10-08 133 views
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列自动调整布局

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

然后,如果我把这个:

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

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

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

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

这有可能产生这样的结果:http://jsfiddle.net/lnplnp/kJLGd/

回答

0

最后,我已经试过listGridField.setWidth("100%");

所以答案是:

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

分配一个固定宽度至少一个领域,我的期望作出回应。

它在大多数情况下工作,但有时此方法无法正常工作。我无法描述确切的情况。我会编辑这个回应,如果我发现什么使它不起作用。

1
listGrid.setWidth("100%"); 

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

+0

我有这样的:“listGrid.setWidth100();”那是对的吗 ?同样的“setWidth(”100%“)”我想。 – Manu

+0

好的,你现在已经编辑了你的答案,根据API,setWidth100是相同的。在这种情况下,listGrid很可能受到父窗口小部件/元素的约束。当我遇到这种情况时,我发现Chrome调试工具很有用,它可以帮助您快速定位具有固定宽度的元素。按12检查DOM – LoneWolf

+0

实际上,我希望字段宽度遵循窗口的大小调整。它似乎listGrid的宽度适合,但不是它的字段宽度。 – Manu