我使用ag-grid,我发现了如何在文档中禁用列(https://www.ag-grid.com/documentation-main/documentation.php) 但读完文档后,我从来没有找到如何才能仅禁用一行。
我已经尝试过
editable: params => params.data.active === true.
可能是我没看懂,或者这个东西不存在。这里有人有解决办法吗?
TL;博士
库中没有选项可以禁用单行(基于视觉和键盘事件),我们可以禁用单行的唯一方法是对标题和后续单元格复选框使用 customCellRenderer,这允许完全控制在复选框上。 除此之外,还有其他三种方法可以根据值禁用 ag-grid 复选框,
1)这是使用 checkBoxSelection 参数,它会根据条件清空单元格。
checkboxSelection = function(params) {
if (params.data.yourProperty) {
return true;
}
return false;
}
cellStyle: params => return params.data.status? {'pointer-events': 'none', opacity: '0.4' } : '';
3)这将完全禁用它,因为您可以控制输入,但您可能必须使用字符串文字,
cellRenderer: (params) => {
if (params.value) {
return `<input type="checkbox" checked/>`;
}
else {
return `<input type="checkbox" />`;
}
}
您可以使用
customCellRenderer(customCellRendererParams for props)
, headerCellRenderer(headerCellRendererParams for props) 接受完整的 JSX 组件。
我认为 ag-grid 本身就可以禁用单行复选框:https://www.ag-grid.com/angular-data-grid/row-selection/#example-forcing-checkboxes-as-selected
向下滚动到显示禁用的复选框此处:并查看示例。