我正在使用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);})
这是结果图像;
答案 0 :(得分:0)
此时sap.ui.table.Table
无法实现。
表的默认布局是“固定的”,无法通过此控件的任何API设置进行更改。加载新记录时,单元格的内容可能会有不同的长度,因此在滚动时会导致列跳转。
sap.ui.table.Column
具有属性resizable
,允许用户调整列的大小。除此之外,还有属性autoResizable
,可以通过双击列分隔符来根据当前可见的数据调整列宽(请参阅文档 -
https://ui5.sap.com/#/api/sap.ui.table.Column)。