首页 文章

在sapui5中获取加载时的表行数

提问于
浏览
0

我正在使用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>/");

在Component.js中

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

1 回答

  • 1

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

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

相关问题