答案 0 :(得分:0)
修改后的plnkr sample
您可以创建自定义cellRenderer
组件,而不是suite 1, street 1
[^,]*$
并将其注入gridOptions
getRenderer()
或function
答案 1 :(得分:0)
您也可以通过CSS类完成
/* ---- conditional : only some cell are editable based on cell data type/field -----*/
cellClass: function(params) { return (params.data && params.data.sale ? 'editable-grid-cell':''); },
/* ------ if all are editable ----------*/
cellClass: 'editable-grid-cell',
然后添加CSS
.editable-grid-cell::after {
content: "\F303";
font-family: "Font Awesome 5 Free";
position: absolute;
top: 0;
right: 0;
font-size: 15px;
font-weight: 900;
z-index: -1; /* this will set it in background so when user click onit you will get cell-click event as if user would normally click on cell */
}
如果以斜角形式使用它,则可能需要使用:: ng-deep来防止样式隔离并将样式应用于类,而不考虑组件级别。喜欢
::ng-deep ..editable-grid-cell::after { .... }
答案 2 :(得分:0)
您需要在columnDefs数组中的对象中使用cellRenderer
字段。基本上,您将获取通常显示的内容以及要显示的图标,并将它们都放在一个<span>
中。
something.component.ts
columnDefs = [
/* ... */
{ headerName: 'Notes', field: 'notes', editable: true,
cellRenderer: function(params) {
return '<span><i class="material-icons">edit</i>' + params.value + '</span>'
} }
];
答案 3 :(得分:0)
尝试此操作来处理聚集细胞的cellRenderer方法
cellRenderer: params => {
let eIconGui = document.createElement('span');
return eIconGui.innerHTML = '<em class="material-icons">edit</em>' + ' ' + params.data.value;
}