如何使用ag-grid禁用行?

问题描述 投票:0回答:3

我使用ag-grid,我发现了如何在文档中禁用列(https://www.ag-grid.com/documentation-main/documentation.php) 但读完文档后,我从来没有找到如何才能仅禁用一行。

我已经尝试过

editable: params => params.data.active === true.
可能是我没看懂,或者这个东西不存在。这里有人有解决办法吗?

vue.js ag-grid
3个回答
4
投票

TL;博士

库中没有选项可以禁用单行(基于视觉和键盘事件),我们可以禁用单行的唯一方法是对标题和后续单元格复选框使用 customCellRenderer,这允许完全控制在复选框上。 除此之外,还有其他三种方法可以根据值禁用 ag-grid 复选框,

1)这是使用 checkBoxSelection 参数,它会根据条件清空单元格。

checkboxSelection = function(params) {

   if (params.data.yourProperty) {
      return true;
   }
   return false;
}
  1. 这只会禁用点击事件并相应地设置样式,

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 组件。

  1. 我认为这将是最有帮助的,它允许您根据该列的行值选择 cellRenderer 组件。 ag-grid 文档中有很好的描述。

1
投票

0
投票

向下滚动到显示禁用的复选框此处:并查看示例。

© www.soinside.com 2019 - 2024. All rights reserved.