【发布时间】:2020-03-24 07:18:37
【问题描述】:
【问题讨论】:
标签: ag-grid ag-grid-angular ag-grid-ng2
【问题讨论】:
标签: ag-grid ag-grid-angular ag-grid-ng2
这是可能的。在我的示例中,我定义了 dataRenderer 来处理自定义单元格渲染。
额外的“切换”列用于触发将更改所选单元格内容并使用函数toggleRenderer 应用行高的事件。
{
headerName: "Toggle",
field: " ",
hide: false,
width: 80,
cellRenderer: toggleRenderer //action button for expand/collapse action
}
自定义按钮在网格中显示:
function toggleRenderer(params) {
params.$scope.toggleRow = toggleRow;
return '<button ng-click="toggleRow()"> > </button>';
}
主要折叠/展开动作:
function toggleRow() {
//get current row
var row = this.rowNode;
//toggle selection
var selected = !row.selected;
//change the row height regarding if row is selected or not
var height = selected ? 75 : 25;
//apply changes
row.setRowHeight(height);
row.setSelected(selected);
var params = {
force: true,
rowNodes: [row]
};
//update display
$scope.gridOptions.api.refreshCells(params);
$scope.gridOptions.api.onRowHeightChanged();
}
重要部分代码,负责多行显示:
{
...
cellRenderer: dataRenderer
}
function dataRenderer(params) {
if (params.node.selected) {
//you can place here any display (chart or other) that will be shown on expand
return (
"<div>Row1: " +
params.data.price +
...
"<div>RowXX:" +
params.data.price +
"</div>"
);
} else {
return params.data.price;
}
}
【讨论】: