sap.ui.table.Table和sap.ui.table.TreeTable在较低分辨率下不显示最后一个数据行

2020-09-01 07:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, SAPUI5版本1...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

SAPUI5版本1.44.6发生以下错误。 当我们使用sap.ui.table.Table或sap.ui.table.TreeTable并将visibleRowCountMode设置为Auto时,在较低分辨率下向下滚动时将不显示最后一个数据行。 这些表格可以在较高的分辨率(例如1920x1080)上完美运行,但是,例如,如果将屏幕分辨率更改为1366x768,则无法向下滚动到最后一个数据行,而只能向下滚动到最后一个数据行。 仅当我单击倒数第二行并按"向下"键时,它才会显示最后一个数据行。

我还在最新版本的SAPUI5 1.44(版本1.44.45)中测试了此问题,并且该问题仍然存在。

我一直在寻找解决方案,但在任何地方都找不到! 你们对如何解决或避免此问题有任何想法吗? 考虑到它们的显示区域,我需要这些表可以自动调整。 预先感谢!

我们项目中的一个小视图样本(抱歉,我无法复制可测试的版本):

 <?xml版本=" 1.0"编码=" utf-8"?>
 <!DOCTYPE项目>
 
     
         <按钮>
             
 

 
4条回答
半个程序猿
2020-09-01 08:10 .采纳回答

大家好,

我设法找到了解决此问题的方法。 看来问题与表格本身无关,但与表格的滚动条有关。 因此,每次用户执行加载表行的操作(例如,展开/折叠)时,我都会更改第一列的宽度,以触发刷新滚动条可滚动区域的事件。 我试图找到一种更好的方法来刷新滚动条,而不必更改表本身,但是找不到更好的方法。

代码示例1:将事件附加到了调用列调整大小函数的表上。

  

代码示例2:列调整大小功能。

 onToggleOpenState(){
         this._fixTableScrollbarPosition();
     }


 _fixTableScrollbarPosition(){
         让treeTable = this.getFragmentById(" personTreeTableId");
         如果(treeTable){
             如果(treeTable.getColumns()[0] .getWidth()===" 30%"){
                 treeTable.getColumns()[0] .setWidth(" 29%");
             }其他{
                 treeTable.getColumns()[0] .setWidth(" 30%");
             }
         }
         treeTable = this.getFragmentById(" workCenterTreeTableId");
         如果(treeTable){
             如果(treeTable.getColumns()[0] .getWidth()===" 30%"){
                 treeTable.getColumns()[0] .setWidth(" 29%");
             }其他{
                 treeTable.getColumns()[0] .setWidth(" 30%");
             }
         }
     }

 

一周热门 更多>