我需要通过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绑定传递参数的正确语法是什么?
答案 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);