2016-08-09 14 views
2

私のアプリケーションでIgnite UIツリーグリッド角度ディレクティブを統合しています。私は空のデータソースでグリッドを初期化しようとしています。なぜなら、データはサーバーからロードされ、サーバーからツリーグリッドのデータソースに割り当てられますが、テーブルのデータは更新されないからです。 igグリッド・ディレクティブを使用すると動作しますが、igグリッド・ツリー・ディレクティブを使用すると動作しません。ある人がコードを見たいと思ったら、私はそれを共有することができます。
これは属性としてigグリッドをバインドするdiv要素です。
Ignite UIツリーグリッドが新しいデータでテーブルを更新していません

<div ng-controller= "gridController"> 
<div id="gridMyGrid" ig-tree-grid="gridOptions" ></div> 
    </div> 


これは、グリッドオプションのオブジェクトと私のコントローラ内のコードです。

angular.module('gridModule',['igniteui-directives']) 
    .controller('gridController',function($scope){ 
     var realObject = [ 
         {"p_l": 68, 
    "total_p_l": 68, 
    "delta_notional_gross": 0, 
    "delta_notional_log": 0, 
    "delta_notional_short": 0, 
    "delta": 0, 
    "gamma": 0, 
    "vega": 0, 
    "theta": 0, 
    "implied_volatility": 0, 
    "beta": 0, 
    "portfolio_hvar": 0, 
    "historical_value_at_risk": 0, 
    "secpxs_down_100bps": 0, 
    "sec_pxs_plus15percent": 0, 
    "sec_pxs_minus15percent": 0, 
    "name": "LN 200", 
    "qunatity": 200, 
    "share_details": [] 
      } 
       ] 
     $scope.realObject =[]; 
      var options = { 
        primaryKey: "name", 
        childDataKey: "share_details", 
        width: '100%', 
        height: 400, 
        autoGenerateColumns: true, 


        dataSource: $scope.realObject, 
        features: [ 


         { 
          name: "ColumnMoving", 
          columnMovingDialogContainment: "window" 
         } 
        ] 
       }; 
     $scope.gridOptions = options; 


      $timeout(function(){ 
           $scope.realObject.push(realObject[2]); 
           $scope.gridOptions.dataSource = $scope.realObject; 


          },5000) 
}) 

助けてください。

js fiddleで例を追加すると、私は何を期待していますか?
リンクデータを更新していないツリー構造のリンクツリー構造を持たないとデータを更新
Link for JS Fiddle



Link for JS Fiddle with Tree structure

答えて

2

igTreeGridはAngularJSのための双方向のデータバインディングをサポートしていません。(igGridはありません)

ですから、手動igTreeGridをデータバインドする必要があります。私は手動データバインドでサンプルを変更しました。

Link to JS Fiddle

$("#grid1").igTreeGrid("dataBind"); 
それとも、スコープのデータを変更するのではなく、データを変更する igTreeGridUpdating APIを使用することができます。

+0

@dkamurov "IG Tree Grid"を統合しているときにigTreeGrid( "dataBind")を使用しなければならない理由は、 –

+0

@dkamurovもう一つのことは、Ignite UIのドキュメンテーションで、igtreeGridが片方向のデータバインディングをサポートしているということです。ユーザーがデータソースを更新するとグリッドに反映され、新しいソースや更新されたソースのビューが更新されます片方向のデータバインディングでも動作しません。 –

+0

igTreeGridは、AngularJSの双方向データバインディングサポートを提供していません(ある時点で導入される可能性があります)。片方向のデータバインディングサポートは、 APIこの変更はスコープに反映されます。 – dkamburov

関連する問題