Скрыть / показать столбец условно в датируемом AngularJS?

Я показываю список пользователей, используя датируемые angularjs. Я хочу скрыть столбец показа, используя условно. Предположим, что роль является другой, тогда как последний столбец не отображается, а роль - администратор, а затем показывает этот последний столбец. Как это сделать, но я не знаю никого, кто знает, как это сделать, пожалуйста, дайте мне знать.

Это мой controller.js:

app.controller("userscontroller", ["$scope", "$http", "DTOptionsBuilder", "DTColumnBuilder", "userservice","$compile"
 function ($scope, $http, DTOptionsBuilder, DTColumnBuilder,userservic,$compile) {       
$scope.dtColumns = [            
DTColumnBuilder.newColumn("fullName", "Full Name").withOption('name', 'firstname'),
DTColumnBuilder.newColumn("username", "Name").withOption('name',     'username'),
DTColumnBuilder.newColumn("email", "Email").withOption('name', 'email'), 
DTColumnBuilder.newColumn(null).withTitle('Action').notSortable()
    .renderWith(function (data, type, full, meta) {            
            return '<button class="btn btn-primary" ng-click="delete(' + data.id + ');"><i class="fa fa-eye"></i>' + '</button>';                    
    })          
]

$scope.dtOptions = userservice.GetAllUser(DTOptionsBuilder)
.withOption('processing', true)
.withOption('serverSide', true)
.withPaginationType('full_numbers')
.withDisplayLength(50)
.withOption('aaSorting', [3, 'desc'])

 function createdRow(row, data, dataIndex) {
$compile(angular.element(row).contents())($scope);
 } }]);

Здесь я хочу, чтобы (IsAdmin) затем показать удалить столбец, в противном случае скрыть этот столбец, как это сделать?

2 ответа

Решение

Вы можете использовать это:

if(user.configName == 'Admin') 
{
    vm.dtColumnDefs = [
            DTColumnDefBuilder.newColumnDef(0),
            DTColumnDefBuilder.newColumnDef(1),
            DTColumnDefBuilder.newColumnDef(2).notSortable()
        ];
}
else {
vm.dtColumnDefs = [
            DTColumnDefBuilder.newColumnDef(0),
            DTColumnDefBuilder.newColumnDef(1).notVisible(),
            DTColumnDefBuilder.newColumnDef(2).notSortable()
        ];
}

В приведенном выше коде метод notVisible() используется, чтобы скрыть второй столбец в таблице. Используя это, вы можете сделать столбцы видимыми и скрытыми для определенной роли пользователя.

Вы можете попробовать следующее:

if(user.configName == 'Admin'){
               return '<button class="btn btn-primary" ng-click="delete(' + data.id + ');"><i class="fa fa-eye"></i>' + '</button>';
            }
Другие вопросы по тегам