2015-01-14 4 views
0

Я использую ng-таблицу для удобных сортируемых и фильтруемых по столбцам таблиц. К сожалению, поскольку я использую его (довольно стандартная копия того, как они делают демонстрации), я должен написать кучу HTML для каждого столбца, чтобы активировать фильтрацию. С некоторыми таблицами, имеющими десятки столбцов, это ДЕЙСТВИТЕЛЬНО утомительно. Есть ли способ генерировать ng-таблицу динамически из модели вместо того, чтобы вручную кодировать каждый заголовок таблицы? Это образец моих нг-таблица HTML:Динамически сгенерируйте шаблон ng-table

<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

Найден Plunker с решением от EVILKOST, это работает как шарм. $ Scope.filter_dict можно оставить пустым, так как у меня есть динамические столбцы. Небольшой цикл в контроллере заполняет $ scope.columns.

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

Отличное решение! http://plnkr.co/edit/H5EoKuIsUU68OCrsRgS1?p=preview

Смежные вопросы