Sapui5 滚动容器内部的sap.ui.table.table:visibleRowCountMode=“;自动”;不起作用

Sapui5 滚动容器内部的sap.ui.table.table:visibleRowCountMode=“;自动”;不起作用,sapui5,Sapui5,这是问题的后续问题。基本上,我遇到了与上面描述的相同的问题,表中没有尽可能多的行,有更多的空间,但没有使用 在最后一个问题的答案的帮助下,我让它在我的桌子上工作。现在我不得不在这张桌子周围添加一个水平滚动容器(高度是固定的)。然后问题又出现了。 我制作了一个演示版,你可以通过它看到问题并尝试使用它 所需的结果就像您删除了ScrollContainer,然后该表填充了整个页面 在IconTabBar中使用此表时也会出现同样的问题,但我能够找到一个丑陋的工作,但在这里不起作用。在呈现表之后,我将样

这是问题的后续问题。基本上,我遇到了与上面描述的相同的问题,表中没有尽可能多的行,有更多的空间,但没有使用

在最后一个问题的答案的帮助下,我让它在我的桌子上工作。现在我不得不在这张桌子周围添加一个水平滚动容器(高度是固定的)。然后问题又出现了。

我制作了一个演示版,你可以通过它看到问题并尝试使用它

所需的结果就像您删除了ScrollContainer,然后该表填充了整个页面


在IconTabBar中使用此表时也会出现同样的问题,但我能够找到一个丑陋的工作,但在这里不起作用。在呈现表之后,我将样式
height:100%
手动添加到表的html父级(这些是IContabar生成的div)。这使表格能够从其父级接收完整高度。对于ScrollContainer,这种策略似乎不起作用。

您可以这样解决它:

onInit: function () {
    this.oTable = this.byId("TableID");
    this.oTable.onAfterRendering = function () {
      const table = this.getTable();
      const aColumns = table.getColumns();
      for (let i = 0; i < aColumns.length; i++) {
        aColumns[i].setProperty("width", "auto");
      }
      this.setHeight("100%");
    };
}

请查看visibleRowCountMode=“自动”的限制

请参见HBox的layoutData定义,以便它从其父级获取高度

<layoutData>
    <FlexItemData growFactor="1" />
</layoutData>


高度:ScrollContainer内部元素的100%样式,也让表格知道其容器的高度。

实际的目标设计是什么?根据提供的plunk(thx btw!),看起来右侧的文本应该代表一些有用的表格指南。那样的话,你呢?使用
ScrollContainer
是一个不幸的结果,因为表格已经有了一个水平滚动条,如果宽度不够,它就会显示出来。我建议寻找另一个更符合Fiori的控件。旁边的文本就是为了测试这个问题。我有几张桌子有这个问题。在一个表中,它是一个图例(带有多个颜色和文本条目的HBox)。在另一个表中,问题是当调整表列的大小时,工具栏中的按钮也会向右移动。不幸的是,我无法在plunk中重现这个问题,我也不太清楚原因。其想法是将表格放入ScrollContainer中,这样只有表格可以移动,但上面和下面的按钮保持固定。我将再次尝试添加演示。我还将在回答中添加一幅图片。请不要在应用程序开发中依赖渲染API,例如
onAfterRendering
(也不要覆盖它!!)。几乎总是有更好的选择。但为此,我们需要问题作者提供更多信息。
<layoutData>
    <FlexItemData growFactor="1" />
</layoutData>