在sapui5

时间:2017-06-29 20:10:05

标签: sapui5

我使用UI5版本1.28在网关上部署,我的模型在控制器中定义,并且能够从json获取表中的记录。我试图获取负载表中显示的记录数。我可以通过sap.ui.getCore()。byId(" oTable")点击按钮来做到这一点.getModel(" MyJsonData")。oData.length

但是我希望在没有操作且仅在加载时获得此功能。尝试在init的控制器上调用它,但它不起作用并返回undefined。

尝试了以下几个其他选项

sap.ui.getCore()。getModel(" MyJsonData")。oData.lengthvia = undefined。

sap.ui.getCore()。byId(" oTable")。getRows()。length - 不起作用。

_getRowCount() - 无法正常工作

oTable.getBinding()。getLength() - 不起作用

还有别的尝试吗?

我的代码如下: 在视图中:

var oTable = new sap.ui.table.Table("oTable",{
            selectionMode : sap.ui.table.SelectionMode.Single,
            selectionBehavior : sap.ui.table.SelectionBehavior.Row,
            visibleRowCount : 7,
            firstVisibleRow : 3,
            rowSelectionChange:oController.formatTable,
            fixedColumnCount : 2
        });

oTable.bindRows("MyJsonData>/");

Inside Component.js

var oModel = new sap.ui.model.json.JSONModel("model/data.json");
this.setModel(oModel, "MyJsonData");

1 个答案:

答案 0 :(得分:1)

请尝试在视图的控制器中使用

...
onAfterRendering: function() {
    console.log(this.byId("oTable").getRows().length);
},
...