SapUI5网格表列自动宽度问题

时间:2018-01-16 11:44:07

标签: sapui5

我正在使用sap.ui.table组件,我想根据单元格内容值的宽度设置列宽值“auto”。但我做不到。如何设置自动宽度列?

以下是我的代码和屏幕截图的一部分;

for (var i = 0; i < json.length; i++) {
            oTable.addColumn(new sap.ui.table.Column({
                label: new sap.m.Label({
                    text: json[i].Value,
                }),
                template: new sap.m.Text({
                    text: '{' + json[i].Key + '}',
                    wrapping : false,
                    textAlign : sap.ui.core.TextAlign.Begin,
                }),
                sortProperty: json[i].Key,
                filterProperty: json[i].Key,
                width : 'auto',
                resizable : false,
                flexible : false,
                //enableGrouping : json[i].enableGrouping,
                //visible : json[i].visible,
            }));
            oTable.autoResizeColumn(i);})

这是结果图像;

https://ibb.co/h4BMSR

1 个答案:

答案 0 :(得分:0)

此时sap.ui.table.Table无法实现。

表的默认布局是“固定的”,无法通过此控件的任何API设置进行更改。加载新记录时,单元格的内容可能会有不同的长度,因此在滚动时会导致列跳转。

sap.ui.table.Column具有属性resizable,允许用户调整列的大小。除此之外,还有属性autoResizable,可以通过双击列分隔符来根据当前可见的数据调整列宽(请参阅文档 -  https://ui5.sap.com/#/api/sap.ui.table.Column)。