我在应用程序中有角度ui网格,如果任何字段值为null或为空,我希望隐藏字段。
$scope.gridOptions = { paginationPageSize: 10, columnDefs: [ { displayName: 'First Name', field: 'firstName', headerCellClass: "GridHeader" }, { displayName: 'Last Name', field: 'lastName', headerCellClass: "GridHeader" }, { displayName: 'Active Status', field: 'activeStatus', headerCellClass: "GridHeader" }, { displayName: 'RoleName', field: 'roleName', headerCellClass: "GridHeader" }, ] };
如何在现场放置过滤器。假设上面代码中的 rolename 为空/ null,则从网格中隐藏角色字段。
任何帮助和建议都非常感谢。在此先感谢:)
答案 0 :(得分:0)
是的,我修好了。
var result = [];
var gridValue= [
{ displayName: 'First Name', field: 'firstName', headerCellClass: "GridHeader" },
{ displayName: 'Last Name', field: 'lastName', headerCellClass: "GridHeader" },
{ displayName: 'Active Status', field: 'activeStatus', headerCellClass: "GridHeader" },
{ displayName: 'RoleName', field: 'roleName', headerCellClass: "GridHeader" },
];
在响应中我检查了空值。
if(response.data != null)
{
if (response.data.roleName === null) {
result = gridValue.slice(0, 3);
}
else {
result = gridValue;
}
$scope.gridOptions = {
paginationPageSize: 10,
columnDefs: result,
};
}
这对我有帮助:)。
答案 1 :(得分:0)
我建议只使用
that.grid.columnDefs[3].visible = false;
我还没有经过测试,但它应该比从定义中删除列并将定义重新应用到网格中更有效。
我认为您还可以将可见性设置为检查数据的函数。
that.grid.columnDefs[3].visible = function () {
// replace with code checking grid.data
return false;
}