5

ag-grid を使用する場合、最初の列ヘッダーをチェックボックスに設定し、グループのみ以外のすべての行ですべてを選択またはすべての列の選択を解除したいと考えています。

4

2 に答える 2

4

gridOptions で:

angularCompileHeaders: true

列を定義している場合は、最初の列を次のように定義します。

{
   field: 'RowSelect',
   headerName: ' ',
   checkboxSelection: true,
   suppressMenu: true,
   suppressSorting: true,
   headerCellRenderer: selectAllRenderer
 },

そのファイルで、レンダラーを定義します。

function selectAllRenderer(params) {
    var cb = document.createElement('input');
    cb.setAttribute('type', 'checkbox');

    var eHeader = document.createElement('label');
    var eTitle = document.createTextNode(params.colDef.headerName);
    eHeader.appendChild(cb);
    eHeader.appendChild(eTitle);

    cb.addEventListener('change', function (e) {
        if ($(this)[0].checked) {
            params.api.selectAll();
        } else {
            params.api.deselectAll();
        } 
    });
    return eHeader; 
}

作成者は現在、これを機能にする作業を行っていますが、これは現在の回避策です。更新と、より一般的な非角度バージョンについては、こちらを確認してください: selectAll 機能のディスカッション

于 2016-09-13T19:58:26.273 に答える
2

誰かが答えを探しにここに来たら、この機能はすでに ag-grid にあるheaderCheckboxSelection: trueので、列の定義に配置してください。

こちらのドキュメントをご覧ください

于 2021-12-08T08:57:52.267 に答える