sap.ui.table.Table:如何优化列宽?

2020-08-16 12:10发布

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

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


你好。

我想使用sap.ui.table.Table调整列的宽度以匹配内容的宽度。

控制器代码如下。

 onInit:函数(){
 var oTable = this.byId(" table");
 oTable.bindRows({
 路径:"/img/BusinessPartnerSet",
 事件:{
 dataReceived:this._adjustColumn.bind(this)
 }
 });
 },

 _adjustColumn:函数(){
 var oTable = this.byId(" table");
 oTable.getColumns()。forEach((oColumn,index)=> {
 oTable.autoResizeColumn(index);
 });
 }
 

问题在于,在发生dataRecieved事件时,表中的内容尚不可用。

结果是,对列进行了调整以匹配标题的宽度,有时宽度太小而无法容纳所有内容。

有人知道我们可以使用哪个事件来调整列吗?

最诚挚的问候,

宇达电通

(45.1 kB)

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

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


你好。

我想使用sap.ui.table.Table调整列的宽度以匹配内容的宽度。

控制器代码如下。

 onInit:函数(){
 var oTable = this.byId(" table");
 oTable.bindRows({
 路径:"/img/BusinessPartnerSet",
 事件:{
 dataReceived:this._adjustColumn.bind(this)
 }
 });
 },

 _adjustColumn:函数(){
 var oTable = this.byId(" table");
 oTable.getColumns()。forEach((oColumn,index)=> {
 oTable.autoResizeColumn(index);
 });
 }
 

问题在于,在发生dataRecieved事件时,表中的内容尚不可用。

结果是,对列进行了调整以匹配标题的宽度,有时宽度太小而无法容纳所有内容。

有人知道我们可以使用哪个事件来调整列吗?

最诚挚的问候,

宇达电通

(45.1 kB)
付费偷看设置
发送
4条回答
zhangjiyang1323
1楼-- · 2020-08-16 12:42

setTimeout是您可以使用的东西,也可以尝试在表渲染后进行渲染

 oMyTable.addEventDelegate({
    onAfterRendering:function(){
      //尝试在此处调整大小..如果数据已加载
    }
 }); 
Doze时光
2楼-- · 2020-08-16 12:24
神保靖武,我无法百分百地说出没有其他办法, (我发现的唯一方法就是我在这里提到的方法。)如果您想在此问题上获得专家的解决,则可以在openui5 git中引发问题。-Mahesh
槿木_熙
3楼-- · 2020-08-16 12:25

Hi

 var oTe = new sap.ui.table.TablePointerExtension(oTable);也请尝试使用此代码。
 var aColumns = oTable.getColumns();
 for(var i = 0; i  

问候,

Venkat

大简至美
4楼-- · 2020-08-16 12:48

尊敬的Venkat,

谢谢您的建议。

不幸的是,oTe.doAutoResizeColumn(i)并未调整列的大小。

我在oTable的onAfterRendering(由Mahesh建议)以及视图的onAfterRendering事件之后执行了这段代码。

此致

Mio

一周热门 更多>