动态生成ng表格模板

时间:2015-01-14 12:56:47

标签: angularjs ngtable

我正在使用ng-table进行漂亮的可排序和可过滤的表格。不幸的是,因为我正在使用它(相当于他们如何进行演示的标准副本)我必须为每列编写一堆HTML以便启用过滤。有些表有几十列,这真的很乏味。有没有办法从模型动态生成ng表而不必手动编写每个表头?这是我的ng-table HTML示例:

<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

非常感谢任何建议!

1 个答案:

答案 0 :(得分:0)

通过EVILKOST找到了一个带有解决方案的Plunker,这就像一个魅力。 $ 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