云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

分布式存储_网站建设的申请_0元

小七 141 0

在SAPUI5应用程序中,我们经常直接或通过sap.ui.comp公司.smarttable.智能表.

其中一个问题是,当我们滚动时,如何使标题工具栏和表格标题保持在顶部。

在下图中,您可以看到当我们在具有智能表格和sap.m.table作为它的包含实例的表。

但是我们期望的是在滚动时将自定义工具栏和表头都放在顶部。

自从SAPUI5的1.54版本以来,您可以使用sap.m.table的粘滞属性,然后将表头保持在顶部。目前这个属性只接受2个值。

然后我们在滚动时会有这样的结果:

很好,家庭人工智能,比上一个更好,大数据app,我们在顶部没有标题。但如果用户想使用工具栏内的按钮,需要向下滚动,然后选择行,然后向上滚动以使用工具栏内的按钮。

让我们更深入地了解在使用此属性时添加到html dom元素中的内容:

实际上,一个名为sapMListTblStickyColHdr的css类已添加到表头。在css部分,我们有这些:

因此我们可以使用相同的想法保持我们的smartTable的自定义工具栏在顶部。然后,物联网传感器,让我们添加一些自定义css,并将一个自定义css类添加到自定义工具栏:

和通常放置在样式.css文件必须有:

请注意,我们将z索引指定给101(比我们在sapMListTblStickyColHdr类中看到的多一个值)。

但它仍然不起作用,原因是类已分配给更深的dom元素。如果我们把它分配给它的父级,所有的都可以工作。

所以我们将使用智能表的onAfterRendering事件将css类分配给工具栏的父级。如果您注意到,我们为自定义工具栏分配了一个id,然后我们将使用该id检索它。

正如您在上面的代码中看到的,我们找到了自定义工具栏的父dom元素。(在上图中,大数据入门,它是一个以"\uu data28"作为id的div)。结果是:

好的,不错。但现在我们有另一个问题。我们可以保持自定义工具栏在顶部,但正如我们看到的标题将隐藏在自定义工具栏下,只要我们滚动(黄色突出显示在上图)。原因是由于表头的top属性。实际上,它也将停留在顶部,云计算与大数据,但在自定义工具栏下,因为它有较小的z索引。如果您想查看它,只需将stickyToolbar的z索引更改为小于100的值。您可以在这里看到此更改的结果:

是的,现在您可以看到表格的标题移动到顶部的位置,在Y轴上移动到0点。让我们再次将z索引返回到101。实际上,我们必须将表头的top属性设置为一个值,该值等于运行时自定义工具栏的外部高度。

为此,我们只需删除sap.m.table实例的sticky属性,然后在运行时生成一个自定义css,并在表的afterRendering事件中分配它。步骤如下:

如您所见,我们在运行时向页面的head标签添加了一个新的样式元素。我知道这是不推荐的,但它是最好的地方添加样式标签,以便能够删除它为下一次,我们需要改变顶部属性的基础上,另一个渲染情况(高度的自定义工具栏可以不同)。

这里是最后的结果:

我希望你觉得这篇文章有用。