Hello.
I want to adjust the width of the column to match the width of the content, using sap.ui.table.Table.
The controller code is as follows.
onInit: function () {
var oTable = this.byId("table");
oTable.bindRows({
path: '/BusinessPartnerSet',
events: {
dataReceived: this._adjustColumn.bind(this)
}
});
},
_adjustColumn: function () {
var oTable = this.byId("table");
oTable.getColumns().forEach((oColumn, index) => {
oTable.autoResizeColumn(index);
});
}
The issue is, at the point of dataRecieved event, contents in the table are not yet available.
As a result, the columns are adjusted to match the width of the title, wihch is sometimes too small to fit all the content in.

Does anybody know which event we can use to adjust columns?
Best regards,
Mio
Request clarification before answering.
setTimeout is something you can use or you can try onafterrendering of table
oMyTable.addEventDelegate({
onAfterRendering: function() {
// Try resizing here.. if the data is loaded
}
});
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
oTable.attachEvent("_rowsUpdated", function() {
///
}.bind(this));
so for now it looks like setTimeout is on way(which also I don't like it 😄 )BR,Mahesh
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.