У меня есть таблица sap.ui.table.Table
и у меня есть модель, в которой некоторые записи имеют ссылки, а некоторые нет. Я хочу отобразить ссылку в компоненте sap.m.Link
в столбце, и если ссылка недоступна в записи, она должна отобразить «Ссылка не предоставлена». в столбце sap.m.Text
.
Поскольку sap.ui.table.Column
имеет агрегацию шаблонов, которая не поддерживает агрегирование связывания, поскольку поддерживается только 0 или 1 элемент управления. И форматтер также применим здесь. Есть ли способ, которым содержимое столбца может быть изменено во время выполнения в соответствии с данными модуля?
Данные моего модуля:
var data = [{
id : 1,
link : 'abc.com'
},
{
id : 2
},
{
id : 3,
link : 'pqr.com'
}]
Я предоставляю код:
var link = new sap.m.Link({text : "{link}"});
var noLink = new sap.m.Text({text : "Link is not provided."});
var idColumn = new sap.ui.table.Column({
label : [new sap.m.Label({text : "ID"})],
template : [new sap.m.Text({text : "{id}"})]
});
var linkColumn = new sap.ui.table.Column({
label : [new sap.m.Label({text : "Link"})],
template : [??????]
});
var table = new sap.ui.table.Table({
columns : [idColumn, linkColumn]
});
var model = new sap.ui.model.json.JSONModel();
model.setData({items : data});
table.setModel(model);
table.bindRows("/items");
Я хочу добавить link
и noLink
в столбец likColumn
runtime в соответствии с данными в модуле. Как мне этого добиться?