Я должен заменить привязку данных из списка (выпадающий список) на таблицу. Важно, чтобы мы добавили фильтр для правильной привязки данных в выпадающем списке. oВход определяется как комбинированный список:
oInput.setModel(oView.getModel());
oInput.bindAggregation("items", "/shrhelpSet", oTemplete);
oFilterObject = new sap.ui.model.Filter("object", "EQ", that.g_object);
oFilterField = new sap.ui.model.Filter("field", "EQ",
that.g_TechNameArr[i]);
oFilterLang = new Filter("lang", "EQ", sCurrentLocale);
oFilters = new sap.ui.model.Filter([oFilterObject, oFilterField, oFilterLang], true);
oInput.getBinding("items").filter(oFilters);
Моя проблема заключается в том, как я могу заменить его привязкой к таблице. Я использую sap.ui.table в ValueHelpDialog. Я исправил данные столбца, которые я определил в массиве, и теперь мне нужно добавить данные из привязки списка в массив для привязки строки. я определил массив «aData», где я должен поместить данные набора данных / shrhelpSet с фильтром. Я пробовал это с
//var aData = this.getModel().getData("/shrhelpSet").filter(oFilters);
Но это неправильный способ сделать это.
// array with fix column names
var aColumnData = [{
columnId: "Key"
}, {
columnId: "Value"
}];
//var aData = this.getModel().getData("/shrhelpSet").filter(oFilters);
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");