SAPUI5 odata绑定表与控制器中的输入参数

时间:2017-02-24 12:25:03

标签: data-binding odata sapui5 input-parameters

我需要通过Odata绑定到网格表将动态值输入参数传递给计算视图。我可以使用以下语法从Odata获得计算视图结果:

...odata/SERVICE.xsodata/DataSetParameters(P_END_DATE=datetime'2013/07/10',P_START_DATE=datetime'2013/07/03')/Results?$format=json

我使用控制器中的以下代码绑定网格表(日期在实际应用中将是动态的)

var gridTable = _this.getView().byId(gridName);
gridTable.setModel(oModel);
gridTable.bindRows("DataSet(P_END_DATE=datetime\'2013/07/10\',P_START_DATE=datetime\'2013/07/03\')", null, null, aFilters);

在运行时我遇到以下错误

No key property 'P_END_DATE' exists in type...No key property 'P_END_DATE' exists in type ...Collection 'DataSet' is not directly accessible....Collection 'DataSet' is not directly accessible.

任何人都可以帮助我知道从odata绑定传递参数的正确语法是什么?

1 个答案:

答案 0 :(得分:1)

您公开的ODATA集合将在 / Results 处提供,并且无法使用/ DataSet直接访问。

需要NavigationProperty来从参数化调用中检索结果。 所以你必须改变你的绑定路径

DataSetParameters(param1=value,param2=value)/Results

控制器代码gridTable.bindRows("DataSetParameters(P_END_DATE=datetime\'2013/07/10\',P_START_DATE=datetime\'2013/07/03\')/Results", null, null, aFilters);