如何在 angular UI 网格中的 columnDefs 属性 中设置过滤器
How to set filter in columnDefs property in angular UI grid
我在应用程序中有 angular 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 是 empty/null 然后隐藏网格中的角色字段。
非常感谢任何帮助和建议。提前致谢:)
是的,我修好了。
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,
};
}
这对我有帮助:)
我建议只使用
that.grid.columnDefs[3].visible = false;
我没有测试过,但它应该比从您的定义中删除列并将定义重新应用到网格更有效。
我认为您也可以将可见性设置为检查数据的函数。
that.grid.columnDefs[3].visible = function () {
// replace with code checking grid.data
return false;
}
我在应用程序中有 angular 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 是 empty/null 然后隐藏网格中的角色字段。
非常感谢任何帮助和建议。提前致谢:)
是的,我修好了。
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,
};
}
这对我有帮助:)
我建议只使用
that.grid.columnDefs[3].visible = false;
我没有测试过,但它应该比从您的定义中删除列并将定义重新应用到网格更有效。
我认为您也可以将可见性设置为检查数据的函数。
that.grid.columnDefs[3].visible = function () {
// replace with code checking grid.data
return false;
}