2016-08-09 7 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 바이올린에 예제를 추가하면 무엇을 기대하고 있습니까?
트리 구조없이 링크 및 갱신 데이터 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 Grid Grid"를 통합 할 때 igTreeGrid ("dataBind")를 사용하면 솔루션을 사용하지 않고 왜 $ ("grid1")을 사용해야하는지 궁금합니다. –

+0

@dkamurov 다른 점은 Ignite UI의 문서에서 igtreeGrid는 사용자가 데이터 소스를 업데이트 할 때 데이터 그리드에 반영되고 새로운 소스 또는 업데이트 된 소스에 대한보기를 업데이트하는 일방 통행 데이터 바인딩을 지원하지만 편도 데이터 바인딩으로도 작동하지 않습니다. –

+0

igTreeGrid는 AngularJS에 대한 양방향 데이터 바인딩 지원을 제공하지 않습니다 (일부 지점에서 도입 될 수 있음). 업데이트를 통해 데이터를 업데이트하는 경우 단방향 데이터 바인딩 지원이 있습니다. 이 변경 사항은 범위에 반영됩니다. – dkamburov