2015-11-27 77 views
1

我有應用程序中的角度ui網格,並且我希望字段在任何字段值爲空或空值時隱藏。如何在角度UI網格中的columnDefs屬性中設置篩選器

 
    $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" }, 
     ] 
    }; 

如何在字段中添加過濾器。假設如果我的角色名稱在上面的代碼中是空的,那麼隱藏角色字段。

任何幫助和建議高度讚賞。在此先感謝:)

+0

無法找到解決方案。請建議。謝謝 – khemt

回答

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, 
    }; 
} 

幫我:)

0

我會建議只使用

that.grid.columnDefs[3].visible = false; 

我沒有測試過,但它應該是更有效的比從定義中刪除列,重新將定義應用於網格。

我想你也可以將可見性設置爲檢查數據的函數。

that.grid.columnDefs[3].visible = function() { 
    // replace with code checking grid.data 
    return false; 
}