javascript - 如何在主详细信息中基于服务器对数据进行分组 - 角度
问题描述
这是代码:https ://stackblitz.com/edit/ag-grid-angular-hello-world-jqmcvg?file=src/app/app.component.ts
list.component.ts
columnDefs = [
{
headerName: "Server",
field: "server",
cellRenderer: "agGroupCellRenderer"
},
{ headerName: "Ping", field: "ping" },
{ headerName: "Download", field: "dl" },
{ headerName: "Upload", field: "ul" },
{ headerName: "ISPCon", field: "ispcon" },
{ headerName: "Date Start", field: "dateStart" },
{ headerName: "Date End", field: "dateEnd" }
];
rowData = [
{
server: "Server 1",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
},
{
server: "Server 1",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
},
{
server: "Server 1",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
},
{
server: "Server 1",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
},
{
server: "Server 1",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
},
{
server: "Server 1",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
},
{
server: "Server 1",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
},
{
server: "Server 1",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
},
{
server: "Server 1",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
},
{
server: "Server 2",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
},
{
server: "Server 2",
ping: "10 ms",
dl: "50Mbit/s",
ul: "50Mbit/s",
ispcon: true,
dateStart: "2019-10-12 09:00:00",
datteEnd: "2019-10-12 09:05:000"
}
];
detailCellRendererParams = {
detailGridOptions: {
columnDefs: [
{ field: "ping" },
{ field: "dl" },
{ field: "ul" },
{ field: "ispcon" },
{ field: "dateStart" },
{ field: "dateEnd" }
],
onFirstDataRendered: function(params) {
params.api.sizeColumnsToFit();
}
},
getDetailRowData: function(params) {
params.successCallback(params.data.callRecords);
}
};
isRowMaster = function(dataItem) {
return dataItem ? dataItem.callRecords.length > 0 : false;
};
paginationPageSize = 10;
constructor() {}
ngOnInit() {
this.setAgGrid();
}
onFirstDataRendered(params) {
params.api.sizeColumnsToFit();
setTimeout(function() {
params.api.getDisplayedRowAtIndex(1).setExpanded(true);
}, 0);
}
onGridReady(event) {
this.gridApi = event.api;
this.setAgGrid();
}
setAgGrid() {}
list.component.html
<ag-grid-angular
#agGrid
style="width: 100%; height: 500px;"
class="ag-theme-balham"
[columnDefs]="columnDefs"
[rowData]="rowData"
[paginationPageSize]="paginationPageSize"
[masterDetail]="true"
[detailCellRendererParams]="detailCellRendererParams"
(firstDataRendered)="onFirstDataRendered($event)"
[isRowMaster]="isRowMaster"
[pagination]="true"
[animateRows]="true"
(gridReady)="onGridReady($event)"
></ag-grid-angular>
我在这里要做的是对“服务器”进行分组,例如服务器是“服务器 1”,它应该根据服务器名称对其进行分组并获取最新数据。
提前致谢。
解决方案
推荐阅读
- node.js - AWS Lambda :: 如何在我的本地 ubuntu 机器上测试我的代码?
- android - 如何将进入动画设置为 RecyclerView 项目?
- charts - Amchart 响应问题
- hive - 为什么 Hive 和 bigSQL 中存在 1 条记录的数据不匹配?
- android - Android Room 是否提供 SqliteOpenHelper onCreate() 和 onUpdate() 替代方案?
- python - python3.6模板中的cgal c++集成错误
- javascript - 为什么在 React 中删除后仍然从本地存储中获取数据?
- excel - Excel Sumif,Sumifs 在多列中有部分字符串?
- php - 从不同表中的类别 id 获取类别名称
- windows - 调用 driver.quit() 后 chromedriver.exe 在寡妇中不可杀死