2017-02-09 94 views
0

我想使用表格进行导航。因此,我使用下面的代码(表看起来不错,所有的数据都是完整的):使用OData属性导航

// Admin.view.xml View 
<Table id="objectsTable" itemPress="onSelectionChange"> 

// Admin.controller.js Controller 
    onSelectionChange: function(event) { 

     // After call undefined 
     var partnerId = event.getSource().getBindingContext().getProperty("BUSINESS_PARTNER_ID"); 

     // After call defined and correct 
     var objectId = event.getSource().getBindingContext().getProperty("ID"); 
     var router = this.getOwnerComponent() 
      .getRouter(); 

     router.navTo("adminDetails", { 
      partner: partnerId, 
      object: objectId 
     }); 

调试,我发现后,该值objectId是不确定的(而ID是存在)。这会导致导航无法正常工作。 所以我看了看数据源(OData的),它看起来如下:

ID | BUSINESS_PARTNER_ID | ADDRESS | FILES (oData association/navigation) | 
.... All records are available, including the BUSINESS_PARTNER_ID 

为什么可变BUSINESS_PARTNER_ID不确定的,而所有从记录的数据显示正确?我可以查询它,除了BUSINESS_PARTNER_ID。有人知道我能如何解决这个问题吗?

+0

? –

+0

@RahulBhardwaj,不......在我使用标准/默认模式时。 – Tobias

回答

0

而结合的项目表“就”改变您使用一个名为模型我查询

event.getParameter("listItem").getBindingContext().getProperty("XYZ"); 
1


做的partnerId和objectId有值吗?如果这些值存在,那么我们需要检查路由和清单文件。如果partnerId和ObjectId为空。
如果这些字段是空白的,我可以想到另一个修复。我相信你的表格下必须有一个columnlistitem或objectlistitem,而不是绑定表格中的事件。您可以为此分配新闻事件并将此代码移至该事件。
基本上我从列表项而不是表触发事件。

感谢和问候,
威拉