Как отключить параметры боковой панели ag-grid

Я использую боковую панель Ag-grid и хочу отобразить все столбцы в качестве параметров для проверки или снятия флажка, но некоторые из них должны быть доступны только для чтения. У меня нет групп данных. Я просматривал документацию, и в ней говорится, что мне нужно установить functionsReadOnly на tru, но это не работает

Кажется, мне нужно установить pivotMode:true, но при этом все столбцы в сетке исчезнут. Я хочу, чтобы отображались все мои столбцы, но только некоторые параметры на боковой панели отключены. Вот мой код

config.js

 { columnDefs: [
    {
      headerName: 'ColA',
      field: 'colA',
    },
    {
      headerName: 'ColB',
      field: 'colB'
      enablePivot: true
    },
    {
      headerName: 'uploadedFiles.fileFormat',
      field: 'formatDescription'
    },
    {
      headerName: 'ColC',
      field: 'colC',
    }
    
  ],
  defaultColDef: {
    sortable: true,
    suppressMenu: false,
    resizable: true,
    suppressColumnsToolPanel: false
  },
  rowSelection: 'single',
  sideBar: {
    toolPanels: [
      {
        id: 'columns',
        labelDefault: 'Columns',
        toolPanel: 'agColumnsToolPanel',
        toolPanelParams: {
          suppressRowGroups: true,
          suppressValues: true,
          suppressPivots: true,
          suppressPivotMode: true,
          suppressSideButtons: true
        }
      }
    ],
    hiddenByDefault: true
  },
  pivotMode:true
}

Я хочу, чтобы все эти столбцы отображались в сетке и все параметры отображались на боковой панели ... Я просто хочу отключить colB, но включение режима поворота заставляет все столбцы исчезать в сетке, и просто использование functionsReadOnly на colB ничего не делает


person Martina Carter    schedule 03.03.2021    source источник


Ответы (1)


Вы можете применить собственный класс к панели инструментов этого конкретного столбца с помощью toolPanelClass: 'some-class' и использовать css pointer-event: none

или вы можете использовать document.getElementByClassName('some-class') и манипулировать DOM в соответствии с вашими требованиями.

https://www.ag-grid.com/documentation/javascript/tool-panel-columns/#example-styling

person Naman Jain    schedule 03.03.2021
comment
Это работает, но не работает с переключателем, выбирающим все функции. в любом случае вокруг этого? - person Martina Carter; 16.03.2021
comment
Что ж, простой обходной путь - удалить select / unselect All с помощью suppressColumnSelectAll. - person Naman Jain; 16.03.2021
comment
Да, мне нужна функциональность, я просто хочу, чтобы она не снимала выделение с тех, которые добавили класс с pointer-events:none - person Martina Carter; 16.03.2021
comment
Хорошо, я нашел обходной путь. Создайте массив со всеми colId/field, чьи флажки были отключены. Добавьте (columnVisible) событие в вашу сетку. Используйте setColumnVisible(colKey, visible), чтобы установить видимость. В их документации это принимает только 2 параметра, но в stackblitz он запрашивает 3 параметра, поэтому я установил его как null. stackblitz.com/ изменить / - person Naman Jain; 17.03.2021