1

我有几个嵌套布局(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。任何想法?

提前致谢

4

0 回答 0