显示/隐藏智能表的列示例?

时间:2014-12-17 23:08:21

标签: angularjs smart-table

ui-grid有一个enableGridMenu:true的标志,它提供了一个显示/隐藏列的下拉菜单。这是一个例子: http://ui-grid.info/docs/#/tutorial/304_grid_menu

智能桌提供任何OOTB显示/隐藏功能或已经可用的扩展名吗?我知道这可以做得很蛮力而且我找到了这个要点,但它处理了列级别的显示/隐藏而不是表格宽度" enableGridMenu"简单化的支持。 https://gist.github.com/srph/2443ece955799fee1d9f

1 个答案:

答案 0 :(得分:0)

嗨我的方法比蛮力更面向对象,标记完全由一组称为“列”的对象构建

此解决方案的灵感来自此处的列拖放示例 http://lorenzofox3.github.io/smart-table-website/#examples-section

首先,我定义了一个“列”数组,您可以根据需要创建任意数量的这些对象

   {
        'name': 'Nice Name',
        'value': 'name',
        'class': '',
        'data': 'row.name',
        'ngShow': true,
   }

既然我有我的专栏,我可以在我的表格标记中做这样的事情

<tr ng-repeat="row in tableRows">
    <td ng-repeat="col in columns" ng-class="{{col.ngClass}}" ng-style="{{col.ngStyle}}" ng-show="col.ngShow">
       <div ng-bind="{{col.data}}"></div>
    </td>
</tr>

然后我为列切换开关创建一个单独的标记

<p ng-repeat="col in columns"> <a ng-click="col.ngShow = !col.ngShow">{{col.name}}</a> </p>