使用OData属性进行导航

时间:2017-02-09 20:43:09

标签: odata sapui5

我想使用表格进行导航。因此我使用以下代码(表格看起来很好,所有数据都是完整的):

attr

调试后我发现,值 WebView browser = (WebView) findViewById(webview); browser.getSettings().setJavaScriptEnabled(true); browser.setWebChromeClient(new WebChromeClient()); browser.loadUrl("file:///android_asset/www/index.html"); browser.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return false; } }); 未定义(当ID存在时)。这会导致导航无法正常工作。 所以我查看了数据源(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 | BUSINESS_PARTNER_ID | ADDRESS | FILES (oData association/navigation) | .... All records are available, including the BUSINESS_PARTNER_ID 除外。有谁知道我怎么解决这个问题?

2 个答案:

答案 0 :(得分:1)


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

谢谢和问候,
威拉

答案 1 :(得分:0)

&#34;只是&#34;将我的查询更改为

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