table 的 SAPUI5 数据绑定不起作用
SAPUI5 Data binding for table not working
我是 SAPUI5 开发的新手,我在 table 中遇到数据绑定问题。在我的其他 table 中它有效,但这个很奇怪。
我正在打开一个值助手对话框,并希望在 table 中显示一些数据。
我当前的代码是:
//
oTable = this._oValueHelpDialog.getTable();
oTable.setModel(this.getModel());
oTable.setModel(oCol, "columns");
// bind aggregation
// items
// shrhelpSet
// spalten heißen key und value
var oTemplate = new sap.m.ColumnListItem({
cells: [
new sap.m.Text({
text: "{key}"
}),
new sap.m.Text({
text: "{value}"
})]
});
oTable.bindAggregation("items", "/shrhelpSet", oTemplate);
我的控制台显示 "Aggregation "items“在元素 sap.ui.table.Table#__table0 中不存在”
当我使用另一种绑定方法(例如 oTable.bindItems() 或 bindRows() 时,它表示该方法未定义或无法找到。
我很惊讶我在值助手中遇到了这个问题,在我的其他 table 中我没有数据绑定问题。
sap.m.Table 具有聚合 "items",但在您的情况下,table 是使用聚合 "rows" 的“sap.ui.table.Table”。这也是其他方法不起作用的原因。
"ColumnListItem" 也不起作用,因为聚合需要“sap.ui.table.Row”。
对于数据绑定,请查看 grid table 的示例。
这对我有用并解决了我的问题
var aColumnData = [{
columnId: "Key"
}, {
columnId: "Value"
}];
var aData = [{
Key: "asdf",
Value: "hey"
}, {
Key: "abcd",
Value: "hey2"
}];
var oModel2 = new sap.ui.model.json.JSONModel();
oModel2.setData({
columns: aColumnData,
rows: aData
});
oTable.setModel(oModel2);
oTable.bindColumns("/columns", function(index, context) {
var sColumnId = context.getObject().columnId;
//alert(sColumnId);
return new sap.ui.table.Column({
id : sColumnId,
label: sColumnId,
template: sColumnId
});
});
oTable.bindRows("/rows");
我是 SAPUI5 开发的新手,我在 table 中遇到数据绑定问题。在我的其他 table 中它有效,但这个很奇怪。
我正在打开一个值助手对话框,并希望在 table 中显示一些数据。
我当前的代码是:
//
oTable = this._oValueHelpDialog.getTable();
oTable.setModel(this.getModel());
oTable.setModel(oCol, "columns");
// bind aggregation
// items
// shrhelpSet
// spalten heißen key und value
var oTemplate = new sap.m.ColumnListItem({
cells: [
new sap.m.Text({
text: "{key}"
}),
new sap.m.Text({
text: "{value}"
})]
});
oTable.bindAggregation("items", "/shrhelpSet", oTemplate);
我的控制台显示 "Aggregation "items“在元素 sap.ui.table.Table#__table0 中不存在” 当我使用另一种绑定方法(例如 oTable.bindItems() 或 bindRows() 时,它表示该方法未定义或无法找到。 我很惊讶我在值助手中遇到了这个问题,在我的其他 table 中我没有数据绑定问题。
sap.m.Table 具有聚合 "items",但在您的情况下,table 是使用聚合 "rows" 的“sap.ui.table.Table”。这也是其他方法不起作用的原因。
"ColumnListItem" 也不起作用,因为聚合需要“sap.ui.table.Row”。
对于数据绑定,请查看 grid table 的示例。
这对我有用并解决了我的问题
var aColumnData = [{
columnId: "Key"
}, {
columnId: "Value"
}];
var aData = [{
Key: "asdf",
Value: "hey"
}, {
Key: "abcd",
Value: "hey2"
}];
var oModel2 = new sap.ui.model.json.JSONModel();
oModel2.setData({
columns: aColumnData,
rows: aData
});
oTable.setModel(oModel2);
oTable.bindColumns("/columns", function(index, context) {
var sColumnId = context.getObject().columnId;
//alert(sColumnId);
return new sap.ui.table.Column({
id : sColumnId,
label: sColumnId,
template: sColumnId
});
});
oTable.bindRows("/rows");