web-dev-qa-db-ja.com

ag-gridはgridOptionsAPIを介してプログラムでチェックボックスを無効にします

checkboxSelection=trueの列があります

条件によっては、APIを介して、チェックボックスが読み取り専用かどうか、つまりチェック/チェックを外せないかどうかを確認したいと思います。

これは可能ですか?

5
Aviram

誰かがまだこれに対する答えを探しているなら、私は簡単な解決策を見つけました、

gridOptionsに以下を追加します

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

プロパティcheckboxSelectionは、ブール値OR関数のいずれかです。

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

関数を使用することにより、行ベースのチェックボックスを表示または非表示にできます。

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

チェックボックスを無効にすることは、そのままでは不可能です。考えられる1つの方法は、チェックボックスを元の状態にリセットすることです。

onRowSelected:(params) => {
    if(params.data.yourProperty && params.node.isSelected())
        params.node.setSelected(false);
}
2

チェックボックス選択= trueを使用する代わりに、cellRendererを試すことができます

  field: 'isMandatory',
  cellRenderer: (params) => {
       if (params.value) {
          return `<input type="checkbox" checked/>`;
       }
       else {
          return `<input type="checkbox" />`;
       }
 }
1
bensonissac