2015-01-14 5 views
0

멋진 정렬 가능하고 필터링 가능한 컬럼 테이블에 대해 ng-table을 사용하고 있습니다. 불행히도 내가 사용하고있을 때 (데모를하는 방법에서 꽤 표준적인 복사본) 나는 필터링을 가능하게하기 위해 각 열에 대해 HTML 묶음을 써야만한다. 수십 개의 열이있는 일부 테이블에서는 이것이 지루합니다. 각 테이블 헤더를 직접 코딩하지 않고 모델에서 동적으로 ng 테이블을 생성하는 방법이 있습니까? 이것은 나의 NG 테이블 HTML의 샘플입니다동적으로 ng 테이블 템플릿을 생성하십시오.

기본적으로
<table ng-table="tableParams" show-filter="true" export-csv="csv" class="table table-bordered  table-hover table-condensed"> 
     <tr ng-repeat="item in $data"> 
     <td data-title="'STUDYID'" filter="{ 'STUDYID': 'text' }" sortable="'STUDYID'"> 
      {{item.STUDYID}} 
     </td> 
     <td data-title="'SITEID'" filter="{ 'SITEID': 'text' }" sortable="'SITEID'"> 
      {{item.SITEID}} 
     </td> 
     <td data-title="'SUBJID'" filter="{ 'SUBJID': 'text' }" sortable="'SUBJID'"> 
      <a href="/profiles?subject={{item.SUBJID}}&study={{item.study_id}}&version={{item.version}}">{{item.SUBJID}}</a> 
     </td> 
     </tr> 
     </table> 

, 내가 원하는 것은 이것이다, 그러나 열 수준의 필터링을 사용 : http://plnkr.co/edit/Qt9FnE?p=preview

감사 어떤 제안에 대한 너무 많은!

답변

0

EVILKOST가 해결책을 제시 한 Plunker를 발견했습니다. 이것은 매력처럼 작동합니다. $ scope.columns에 컨트롤러의 작은 루프가 채워지는 동적 열이 있으면 $ scope.filter_dict를 비워 둘 수 있습니다.

$scope.columns = [ 
      { title: 'Name', field: 'name', visible: true, filter: { 'name': 'text' } }, 
      { title: 'Age', field: 'age', visible: true } 
     ]; 

위대한 해결책! http://plnkr.co/edit/H5EoKuIsUU68OCrsRgS1?p=preview

관련 문제