2017-06-29 12 views
0

私はUI5バージョン1.28でゲートウェイ経由でデプロイしています。私のモデルはコントローラで定義されており、jsonのテーブルにレコードを取得できます。私は負荷のテーブルに表示されるレコードの数を取得しようとしています。 sap.ui.getCore()。byId( "oTable")。getModel( "MyJsonData")。oData.lengthsapui5のロード時にテーブルの行数を取得する

しかし、私はアクションなしでこれを取得したいロード時のみ。コントローラのinitで同じものを呼び出そうとしましたが、うまく動作せず、定義されていません。

sap.ui.getCore()。getModel( "MyJsonData")は、以下のようにいくつかの他のオプションを試してみました。oData.lengthvia =未定義。

sap.ui.getCore().Id( "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"); 
+0

を使用しようとしてもらえますが、あなたの質問を更新しますか?正確に何の負荷で、データですか?データをテーブルにどのようにバインドしますか?あなたはどのテーブル(sap.ui.table.Tableまたはsap.m.Table)を使用していますか?私は 'getRows'のためにsap.ui.table.Tableを想定しています。もう少しコードを見せてください。 – boghyon

答えて

1

ビューのコントローラ内で

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

エラーが発生しました。未定義のプロパティ 'getRows'を読み取ることができません – Justin

+1

onInitの内部で試してください:var oModel = sap.ui.getCore()。getModel( "MyJsonData"); oModel.metadataLoaded()。then(function(){console.log(this.byId( "oTable")。getRows()。length);}); – n01dea

関連する問題