几个小时以来,我一直在尝试获取树表中选定行的模型数据。
我使用了以下示例:https://openui5.hana.ondemand.com/#/sample/sap.ui.table.sample.TreeTable.JSONTreeBinding/preview
此外,我在列中添加了sortProperty和filterProperty。到目前为止,一切正常。
我想要做的是通过所有选定行的ajax提交json数据。为此,我需要获取所选行的json数据。
我尝试过的事情:
var oTable = this.getView().byId("tableName").getSelectedIndicies()
然后
for(var i=0; i<=oTable.length; i++) {
this.getView().byId("tableName").getModel().getData().jobs[oTable[i]]
}
似乎当我使用排序器和过滤器功能时,指示不再正确。索引键不会更改。
有什么办法解决我的要求吗?提前谢谢!
答案 0 :(得分:0)
您可以进行一些小的更改,以在for循环中获取正确的数据。
var sPath =
TreeTable.getRows()[0].getBindingContext()
oTreeTable.getModel().getProperty(sPath)
答案 1 :(得分:0)
这是我解决的方法:
var oJSON = {};
var aData = [];
var oTable = this.getView().byId("TreeTable");
var aIndicies = oTable.getSelectedIndices();
var oSelect = this.getView().byId("selectStandort").getSelectedKey();
for (var i=0; i<aIndicies.length; i++) {
var oTableContext = oTable.getContextByIndex(aIndicies[i]);
var rowData = oTable.getModel("jobs").getProperty(oTableContext.getPath());
aData.push(rowData);
}
oJSON.jobs = aData;
oJSON.standort = oSelect;