我有几个嵌套布局(VLayouts 和 HLayouts),它们包含在选项卡窗格中。在这些布局之一(VLayout)中,有几个元素根据选择窗口动态添加或删除。用户第一次进行选择时,窗格会向上移动几个像素(您不会看到窗格的上部)。其余的时间,疼痛仍然在错误的地方。
总之,第一次添加会影响窗格顶部,其余的添加/删除不会影响它。
这只发生在 Chrome 上。但是,Firefox 和 IE 工作正常。
我的添加代码是:
int total = itemsPanel.getMembers().length - 1;
while (total >=0) {
itemsPanel.removeMember(itemsPanel.getMember(total));
total--;
}
Record[] records = selectorWindow.getSelectedRows();
if (records != null) {
for (Record record : records) {
String name = record.getAttribute("keyRecord");
HLayout item = items.get(name);
itemsPanel.addMember(row);
}
}
if (itemsPanel != null) {
int r = 80;
if (Utils.isReducedHeight()) {
r = 120;
}
int visibleHeight = getVisibleHeight() - StyleUtils.HEADER_HEIGHT - r;
itemsPanel.setHeight(Math.max(1, Math.min(itemsPanel.getMembers().length * Utils.getRowHeight(), visibleHeight)));
int h = Math.min(itemsPanel.getHeight() + 10, visibleHeight);
containerItemsPanel.setHeight(h);
}
我正在使用 gwt 2.5.1 和 smartgwt 3.0。任何想法?
提前致谢