У меня проблемы с доступом к массиву, куда я помещаю некоторые данные из чтения омоделя. Массив называется aData и содержит данные строки для таблицы. Это работает нормально, все данные там.
Этот весь код выполняется после открытия диалогового окна справки по значению и в его / этой таблице я хочу поместить данные
var oTestModel = this.getModel();
oTestModel.read("/shrhelpSet", {
filters: [oFilterObject, oFilterField, oFilterLang],
success: function(oRetrieveResults){
//console.log(oRetrieveResults);
var oDatas2 = oRetrieveResults;
var test1 = oDatas2.results;
var aData = [];
var index = oDatas2.results.length;
var i;
for (i=0; i<index; i++) {
aData.push("{Key: '" + oDatas2.results[i].key + "', Value: '" + oDatas2.results[i].value + "'}");
}
// aData Array
console.log("aData: " + aData);
},
error: function(oError){
console.log(oError);
}
});
Это код после чтения омоделя. Здесь у меня есть массив с данными столбца для моей таблицы. OModel2 содержит столбцы данных, которые я определил в aColumnData, а строки сверху находятся в aData. И здесь проблема. Он не возвращает (массив) никаких данных или показывает только объект. У вас есть советы для лучшей обработки или решения этой проблемы?
var aColumnData = [{
columnId: "Key"
}, {
columnId: "Value"
}];
var oModel2 = new sap.ui.model.json.JSONModel();
oModel2.setData({
columns: aColumnData,
rows: aData // THIS IS THE RESULT OF MY MODEL, the results are in aData but i cant access it here
});
oTable.setModel(oModel2);
oTable.bindColumns("/columns", function(index, context) {
var sColumnId = context.getObject().columnId;
return new sap.ui.table.Column({
id : sColumnId,
label: sColumnId,
template: sColumnId
});
});
oTable.bindRows("/rows");