angular ui-grid列的隐藏通过 visible 属性来控制,比如,你 可以在列定义中这样设置:
$scope.gridOptions = { data: 'myData', selectedItems: $scope.mySelections, multiSelect: false, columnDefs: [ {field: 'empno', displayName: 'empno', visible:false}, {field:'name', displayName:'name'} ] };
如果需要动态设置 ui-grid 隐藏列,可以在定义grid 后,通过如下代码控制:
var pos = $scope.gridOptions.columnDefs.map(function (e) { return e.field; }).indexOf('yourFieldName'); if ($scope.basicAdmin || $scope.superAdmin) $scope.gridOptions.columnDefs[pos].visible = true; else $scope.gridOptions.columnDefs[pos].visible = false;
代码中的“gridOptions ”需要根据你的grid定义来设置。并将“yourFieldName” 替换为你要控制是否隐藏的列字段名。希望codebye能帮助到你