如何在角度UI网格中突出显示具有最大单元格值的行
How to highlight row with maximum cell value in Angular UI Grid?
我有一个 Angular UI 网格,它的定义如下
var rowtpl='<div ng-class="{''extremum'':row.entity.threads==150 }"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ ''ui-grid-row-header-cell'': col.isRowHeader }" ui-grid-cell></div></div>';
$scope.gridOptions = {
enableHorizontalScrollbar: 0,
enableSorting: true,
enableFiltering: true,
enableColumnResizing: false,
enableRowSelection: true,
enableRowHeaderSelection: false,
multiSelect: false,
noUnselect: true,
onRegisterApi: function (gridApi) {
$scope.gridApi = gridApi;
gridApi.selection.on.rowSelectionChanged($scope, function (row) {
if (row.isSelected) {
var importedData = row.entity;
DataService.selectedImportedDataId = importedData.id;
$scope.selectedData = importedData;
}
});
},
columnDefs: [
{ name: "Run", field: "run" },
{ name: "Time of Day", field: "tod" },
{ name: "Rate", field: "rate" },
{ name: "MB/sec", field: "mbps" },
{ name: "Response", field: "resp" },
{ name: "xfersize", field: "xfersize" },
{ name: "Threads", field: "threads" },
{ name: "queue_depth", field: "queue_depth" },
{ name: "Read %", field: "read_percentage" },
{ name: "Read response", field: "read_resp" },
{ name: "Write response", field: "write_resp" },
{ name: "lunsize", field: "lunsize" }
],
data: [],
rowTemplate: rowtpl
};
(数据在此代码之外加载)。这是我的HTML,测试控制器是我的控制器的名称。
<div ng-controller="TestController" class="row">
<div class="container-fluid">
<div class="row">
<div ui-grid="gridOptions"
ui-grid-edit
ui-grid-auto-resize
ui-grid-selection
ui-grid-save-state>
</div>
</div>
</div>
</div>
此代码创建一个突出显示一行的表(在我的行模板中使用row.entity.threads==150
选择行)。我可以突出显示值不是由我自己选择,而是具有最大值或最小值的行吗?
你可以试试这种方式。
您的行模板:
var rowtpl='<div ng-class="{''extremum'':row.entity.threads==150, ''highlight'':row.entity.isMaximum }"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ ''ui-grid-row-header-cell'': col.isRowHeader }" ui-grid-cell></div></div>';
您需要将highlight
类添加到 css 中。获取数据时,可以遍历数据以检查最大值并设置标志entity.isMaximum = true
。
要计算数据数组中的最大值,您可以使用 javascript 中的任何最大查找函数。UnderscoreJS
中提供了这样的功能之一示例实现如下所示。
var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
_.max(stooges, function(stooge){ return stooge.age; });
=> {name: 'curly', age: 60};
如果此解决方案仍有任何问题,请发布数据对象。
相关文章:
- ui网格将单元格显示为选择标记
- 单元格的工具提示或标题不显示超过2000个字符
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 使用下拉选择菜单高亮显示一行表格单元格
- 正在擦除要重新显示的单元格
- 每行仅突出显示一个单元格
- 将突出显示的单元格返回到php
- 只在表中突出显示一个单元格值
- 单击并用CTRL+C复制值时高亮显示html表格单元格
- 选择并高亮显示一行中的单元格
- 我希望joint.js库读取我的JSON并将其显示为一个单元格:rect和circle
- 谷歌电子表格在多个单元格中显示脚本中的值
- 从所选内容中选择选项,并在表格单元格中显示所选内容的信息
- 带有大型JSON的简单ngTable在单元格中不显示任何数据
- JQuery 显示来自可见 HTML 表格单元格的文本的串联列表
- Asp.net 客户端单击显示表中其他单元格的值
- 将显示:无设置为第一行的单元格会弄乱表格布局
- 如何使用 CSS 和 jQuery 根据表单元格值有条件地在悬停时突出显示表行
- 如何在角度UI网格中突出显示具有最大单元格值的行
- 单元格值未在使用自定义下拉列表编辑器的剑道 UI 网格中正确显示