angularJS 不根据 NG-Grid 中的值显示行
angularJS Do Not Display A Row Depending On Value In An NG-Grid
我是 angularJS 广告的新手,有人要求我在我的 ng-grid
table 中隐藏一行,如果列的值为“0”。
我的 grid
有 4 列:
- 用户
- 今天
- 本周
- 这个月
如果 'This Month' 列为“0”
,我想隐藏整行
我对 gird
的 HTML 是:
<div data-ng-controller="workflowworkitemscompleted as vm">
<div data-ng-if="isbusy">
<div data-cc-spinner="vm.spinnerOptions"></div>
</div>
<div class="row">
<div class="col-md-12">
<div class="gridStyle" style="height:157px" data-ng-grid="gridOptions" id="cwigrid"></div>
</div>
</div>
</div>
我的控制器代码是:
$scope.searchfilter = "";
$scope.mySelections = [];
$scope.sortInfo = { fields: ['countDay'], directions: ['desc'] };
$scope.totalServerItems = 0;
$scope.pagingOptions = {
pageSizes: [5],
pageSize: 5,
currentPage: 1
};
$scope.gridOptions = {
data: 'wfiprocessed',
multiSelect: false,
rowHeight: 25,
showFooter: false,
footerRowHeight: 40,
enableColumnReordering: false,
showColumnMenu: false,
enableColumnResize: false,
enableRowSelection: false,
filterOptions: $scope.filterOptions,
selectedItems: $scope.mySelections,
enablePaging: false,
pagingOptions: $scope.pagingOptions,
plugins: [gridLayoutPlugin],
totalServerItems: 'totalServerItems',
sortInfo: $scope.sortInfo,
useExternalSorting: false,
virtualizationThreshold: 50,
rowTemplate: "<div ng-style=\"{ 'cursor': row.cursor }\" ng-repeat=\"col in renderedColumns\" class=\"ngCell {{col.colIndex()}} {{col.cellClass}}\">" +
" <div class=\"ngVerticalBar\" ng-style=\"{height: rowHeight}\" ng-class=\"{ ngVerticalBarVisible: !$last }\"> </div>" +
" <div ng-cell></div>" +
"</div>",
columnDefs: [
{ field: 'userName', displayName: 'User', cellTemplate: vm.optimizedcell },
{ field: 'countDay', displayName: 'Today', cellTemplate: vm.optimizedcell },
{ field: 'countWeek', displayName: 'This Week', cellTemplate: vm.optimizedcell },
{ field: 'countMonth', displayName: 'This Month', cellTemplate: vm.optimizedcell }
]
};
我的 table 看起来像:
查看上面的 table,我不希望显示 'dtealdev' 或 'qauser2' 行,因为 'This Month' 列为“0”
在 $scope.gridOptions
的数据源中,您输入要在网格中显示的所有数据集。您正在做的是,您也在该数据集中传递了不需要的字段,即 qauser2
和 dtealedev
。
您可以做的是return仅需要显示所需的一组数据值。
$scope.gridOptions.data = function(data) {
//remove the items in data that contain 0 in all fields
return newData;
}
我是 angularJS 广告的新手,有人要求我在我的 ng-grid
table 中隐藏一行,如果列的值为“0”。
我的 grid
有 4 列:
- 用户
- 今天
- 本周
- 这个月
如果 'This Month' 列为“0”
,我想隐藏整行我对 gird
的 HTML 是:
<div data-ng-controller="workflowworkitemscompleted as vm">
<div data-ng-if="isbusy">
<div data-cc-spinner="vm.spinnerOptions"></div>
</div>
<div class="row">
<div class="col-md-12">
<div class="gridStyle" style="height:157px" data-ng-grid="gridOptions" id="cwigrid"></div>
</div>
</div>
</div>
我的控制器代码是:
$scope.searchfilter = "";
$scope.mySelections = [];
$scope.sortInfo = { fields: ['countDay'], directions: ['desc'] };
$scope.totalServerItems = 0;
$scope.pagingOptions = {
pageSizes: [5],
pageSize: 5,
currentPage: 1
};
$scope.gridOptions = {
data: 'wfiprocessed',
multiSelect: false,
rowHeight: 25,
showFooter: false,
footerRowHeight: 40,
enableColumnReordering: false,
showColumnMenu: false,
enableColumnResize: false,
enableRowSelection: false,
filterOptions: $scope.filterOptions,
selectedItems: $scope.mySelections,
enablePaging: false,
pagingOptions: $scope.pagingOptions,
plugins: [gridLayoutPlugin],
totalServerItems: 'totalServerItems',
sortInfo: $scope.sortInfo,
useExternalSorting: false,
virtualizationThreshold: 50,
rowTemplate: "<div ng-style=\"{ 'cursor': row.cursor }\" ng-repeat=\"col in renderedColumns\" class=\"ngCell {{col.colIndex()}} {{col.cellClass}}\">" +
" <div class=\"ngVerticalBar\" ng-style=\"{height: rowHeight}\" ng-class=\"{ ngVerticalBarVisible: !$last }\"> </div>" +
" <div ng-cell></div>" +
"</div>",
columnDefs: [
{ field: 'userName', displayName: 'User', cellTemplate: vm.optimizedcell },
{ field: 'countDay', displayName: 'Today', cellTemplate: vm.optimizedcell },
{ field: 'countWeek', displayName: 'This Week', cellTemplate: vm.optimizedcell },
{ field: 'countMonth', displayName: 'This Month', cellTemplate: vm.optimizedcell }
]
};
我的 table 看起来像:
查看上面的 table,我不希望显示 'dtealdev' 或 'qauser2' 行,因为 'This Month' 列为“0”
在 $scope.gridOptions
的数据源中,您输入要在网格中显示的所有数据集。您正在做的是,您也在该数据集中传递了不需要的字段,即 qauser2
和 dtealedev
。
您可以做的是return仅需要显示所需的一组数据值。
$scope.gridOptions.data = function(data) {
//remove the items in data that contain 0 in all fields
return newData;
}