Скрыть / показать столбец условно в датируемом 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>';
}