通过gridOptions API以编程方式禁用ag-grid禁用复选框

时间:2017-11-27 10:29:19

标签: ag-grid

我有一个checkboxSelection=true

在某些条件下并通过API,我想确定该复选框是否只读,即我无法检查/取消选中。

这可能吗?

5 个答案:

答案 0 :(得分:2)

如果有人仍在寻找答案, 我找到了一个简单的解决方案,

在您的gridOptions中添加以下内容

gridOptions = {
columnDefs: [
  {
    checkboxSelection: true,
    cellStyle: params => 
      params.value === 'YOUR_VALUE' ?  
          {'pointer-events': 'none'}
          : ''
   }
 ]  
};

答案 1 :(得分:1)

属性 checkboxSelection 可以是布尔值或函数。

https://www.ag-grid.com/javascript-grid-column-properties/#gsc.tab=0

通过使用功能,您可以显示或隐藏基于行的复选框:

class PDFAgreementView(PDFTemplateView):
    template_name = 'agreements/pdf_template.html'
    filename = 'rendered.pdf'

禁用复选框无法开箱即用。一种可能的方法是将复选框重置为原始状态:

checkboxSelection = function(params) {
   // add your cancheck-logic here
   if (params.data.yourProperty) {
      return true;
   }
   return false;
}

答案 2 :(得分:0)

您可以尝试使用cellRenderer

,而不是使用checkboxSelection = true
  field: 'isMandatory',
  cellRenderer: (params) => {
       if (params.value) {
          return `<input type="checkbox" checked/>`;
       }
       else {
          return `<input type="checkbox" />`;
       }
 }

答案 3 :(得分:0)

根据文档,您可以在gridConfig中isRowSelectable

    isRowSelectable: function(rowNode) {
        return rowNode.data ? rowNode.data.condition: false;
    },

答案 4 :(得分:0)

isRowSelectable 在单选模式下不起作用。 最好使用 css 禁用它

单元类规则: { 'checkbox-disabled': isCheckboxDisabled , }