2016-06-27 7 views
-2

에 나는 ngTable 다음 있고, 동적으로 열을 추가 할 :추가 열을 동적으로 ngTable

<table ng-table="tableParams" show-filter="showFilter" class="table table-bordered"> 
     <tbody> 
      <tr ng-repeat="d in $data" > 
       <td ng-repeat="col in cols" title="'col.nm'" 
         filter="{ col.nm: 'text' }">{{ col.nm }}</td> 
      </tr> 
     </tbody> 
    </table> 

$ 데이터는 데이터 자체를 포함,하지만 난 다른 배열의 열 정의가 :

$scope.cols = [ {nm:'col0'}, {nm:'col1'}, {nm:'col2'} ]; 

및 $ 데이터 :

$scope.data = [ {col0: "0", col1: "1", col2: "2"} ] ... 

나는 코드에게 표를 실행할 때 열이 없으면 비어 있습니다. 나는 이것이 가능한지보기 위해 온라인으로 보았지만 예제를 찾을 수 없었다. 어떤 아이디어?

추가 PLUNK

+0

PLIS 당신이 jsfiddle 몇 가지 예를 넣을 수 있습니다 도움말? 그리고 왜 $ 데이터를 넣을까요? 그냥 $없이 데이터를 사용하십시오 : S – Javierif

+0

왜 물어 보지 마시고, $ scope.data와 $ data를 선언하십시오. (예제에서 가져 왔습니다) 그것이 모든 nT 테이블을 정의하는 방법입니다 ... – ps0604

+0

PLUNK를 참조하십시오. 질문에 – ps0604

답변

-1

부터 Cols :

$scope.cols = [ {nm:'col0'}, {nm:'col1'}, {nm:'col2'} ]; 

데이터 :

$scope.data = [ {col0: "0", col1: "1", col2: "2"} ] ... 

템플릿 :

<div ng-controller="myCtl" ng-app="app"> 
    <table ng-table="tableParams" class="table table-bordered table-hover"> 
     <tbody> 
     <tr><td ng-repeat="name in names">{{ name.nm }}</td></tr> 
     <tr ng-repeat="u in data"> 
      <td ng-repeat="value in u"> 
      {{value}} 
      </td> 
     </tr> 
     </tbody> 
    </table> 
</div> 

이보십시오.

+0

그는 td에서 ng-repeat를 이미 사용하고 있습니다 ... – Javierif

+0

저는 여전히 같은 문제가 있습니다 – ps0604

+0

좋아요, 다른 접근 방식으로 예제를 보여 드리겠습니다. 개체를 하나만 사용해야합니다. – RaV

0

문제가 ng-repeat입니다. 당신은 내가 쿵하는 소리를 확인하고 난 당신이 어떤 범위에서 COLS를 선언 볼 수 없습니다 ...이

<tr ng-repeat="d in $data" > 

<tr ng-repeat="d in data" > 
+0

는 문제를 해결하지 못합니다. – ps0604

+1

'코드를 실행하면 테이블이 비어 있습니다.'$ 데이터를 데이터로 변경하면 테이블이 표시됩니다. 동적 열에 대해서는 다시 td에서 반복해야합니다. –

0

렐을 변경 잘못된 변수 구문을 사용하고 있습니다! 어떻게 html에서 가져 가고 싶어?! 의 xD 체크 변경이 :

var app = angular.module('app', ['ngTable']); 

app.controller('myCtl', function($scope,NgTableParams) { 
      $scope.cols = [ {nm:'col0'}, {nm:'col1'}, {nm:'col2'} ]; 

      $scope.data = [ 
      { col0: 'User 1', col1: 'Name 1', col2: 'Group 1'}, 
      { col0: 'User 2', col1: 'Name 2', col2: 'Group 2'} 
      ]; 

      $scope.tableParams = new NgTableParams({dataset: $scope.data}); 

}); 

그리고 짜잔


편집 V2 :

확인이 HTML, 난 열이 또 다른 하나의 NG-반복 및 값 이름을 추가했다.

<table ng-table="tableParams" class="table table-bordered table-hover"> 
    <tbody> 
     <td ng-repeat="col in cols">{{ col.nm }}</td> 
     <tr ng-repeat="u in data"> 
      <td ng-repeat="(key, value) in u"> 
       {{value}} 
      </td> 
     </tr> 
    </tbody> 
</table> 

희망

+0

그건 오타 였고, 여전히 작동하지 않습니다, 고정 된 덩어리를 확인, 데이터 대신 열 이름을 보여줍니다 http://plnkr.co/edit/RRwCH7eJS9zXidSva8s9?p=preview – ps0604

+0

정말 못생긴지만 힘들지만, 그것을 확인 갱신 Logged – Javierif

+0

당신은'tr' 외부에'td'를 가지고 있습니다. – ps0604