odata - sapui5表只显示相同的记录

标签 odata sapui5 sap-gateway

我创建了一个 Web 服务并尝试使用 SAPUI5 中的 oData 协议(protocol)绑定(bind)数据。

我创建了一个表:

createContent : function(oController) {

      jQuery.sap.require("sap.ui.table.Table");

      //Create table control with properties

      var oTable = new sap.ui.table.Table({
          width : "100%",
          rowHeight : 50,
          title : "Lst of Items",
          selectionMode : sap.ui.table.SelectionMode.None
      });



      oTable.addColumn(new sap.ui.table.Column({
          label : new sap.ui.commons.Label({
          text : "PO Number"
          }),
          template : new sap.ui.commons.TextView({
          text : "{PoNumber}"
          }),
          }
      ));

      oTable.addColumn(new sap.ui.table.Column({
          label : new sap.ui.commons.Label({
          text : "Item"
          }),
          template : new sap.ui.commons.TextView({
          text : "{PoItem}"
          }),
          }
      ));

      //Filter values for a certain PO
      var aFilter = [];
      aFilter.push( new sap.ui.model.Filter("PoNumber", sap.ui.model.FilterOperator.EQ, "4500000043") );


      oTable.bindRows({
          path: "/PurchaseOrderItemCollection",
          filters: aFilter
          });


      return oTable;

}

输出应如下所示:

PONumber          POItem
4500000043        0010
4500000043        0020

但是我得到的是:

PONumber          POItem
4500000043        0020
4500000043        0020

因此它显示最后一项两次并且不显示第一项。如果我在 Web 服务代码中放置一个断点,那么它就会正确填充。

数据模型通过以下方式创建:

var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl, false, "user", "passw");
   sap.ui.getCore().setModel(oModel);

最佳答案

我也遇到过这种情况。问题出在你的数据模型上。确保实体的采购订单编号和采购订单项目都标记为键。刷新所有元数据缓存,确保两个属性都显示为键,然后重试。它应该可以工作。

谢谢 克里希纳

关于odata - sapui5表只显示相同的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17724872/

相关文章:

data-modeling - SAP 网关开发 : How do I write well 'mapable' function modules?

javascript - sap.m.PlanningCalendar : How to hide or skip weekends

.net - 缺少 WebApi OData HttpConfiguration 扩展方法

.net - 无法在 .net Odata 实现中通过 id 选择实体

c# - 错误 : Cannot apply PATCH to navigation property. 那么我该怎么办?

javascript - 从控件中检索 id 以在导航中使用

sapui5 - 如何使用 "sap.ui.table.DataTable"显示 JSONModel 数据?

javascript - 读取 BreezeJS 中的 odata 链接

c# - 如何正确地对 OData v6.0 Controller 进行单元测试?