2013-07-18 1 views
2

Я создал веб-сервис и пытался связать данные с использованием протокола OData в SAPUI5.Таблица sapui5 показывает только ту же запись

Я создал таблицу:

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 

Так он показывает последний элемент дважды nd не показывает первый элемент. Если я поставлю точку прерывания в код веб-службы, она будет заполнена правильно.

модель данных создается следующим образом:

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

Что вы размещаете это на, БСП? – tomdemuyt

+0

Вы уверены, что ваш oModel имеет разные значения? –

ответ

0

Мое понимание каждый объект/запись в коллекции должны иметь уникальный идентификатор <entry><id>...</id></entry>. И в моем случае возвращенная коллекция не имела идентификаторов для объектов. Таким образом, связанный элемент ui находит несколько объектов с одним и тем же идентификатором (в этом случае пустой id) и заканчивает отображение значения, которое он находит последним.

То же самое должно применяться, даже если идентификатор одинаковый для всех объектов.

Надеюсь, это поможет, если вы еще не нашли, в чем проблема.

Спасибо,

1

Я столкнулся с этим. Проблема заключается в вашей модели данных. Убедитесь, что для объекта оба номера PO и PO будут отмечены как ключи. Обновите любой кеш метаданных, убедитесь, что оба свойства отображаются в виде ключей и повторите попытку. Он должен работать.

Благодаря Кришна

 Смежные вопросы

  • Нет связанных вопросов^_^