Можно ли отключить выбор флажка, сохранив некоторые выбранные строки, отображаемые с некоторыми ограничениями? Я не хочу позволять пользователям отменять выбор строк, выбранных во время рендеринга.
Я нашел this.gridOptions.suppressCellSelection = true;, но это просто скрывает флажок, тогда как мне нужно показать флажок в режиме отключения.
Спасибо.
эти флажки отображаются, но реализация ag-grid. поэтому подумал, что если есть api, то это легко.
Для дальнейшего использования, вот полная информация о отключение флажка в ag-сетке.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Один из способов - добавить функцию cellRenderer в столбец, для которого необходимо реализовать флажок. Вы можете включить или отключить этот флажок, вернув true или false из функции cellRenderer.
Я использую внутренний api ag-grid для рендеринга флажка, а не cellRenderer
Я решил это, добавив rowClassRules в GridOptions
rowClassRules: {
'ag-row-selected' : function(params) {
return params.node.selected === true;
},
},
Это добавит css, как показано ниже, чтобы отключить щелчок по флажку
.ag-row-selected{
.ag-cell .ag-cell-wrapper .ag-selection-checkbox .ag-icon-checkbox-checked {
pointer-events: none;
}
}
Правила RowClass применяются при обновлении / обновлении сетки или обновлении узлов. Я сделал это, обновив определенные узлы
node.setSelected(true);
// this is to trigger rowClass for selected/non-selected rows
// to disable checkbox selection
node.setData(node.data);
Если вы используете встроенный agGroupCellRenderer для рендеринга флажка для множественного выбора, вы можете выключить флаг selectable узла, когда решаете, рендерить или нет.
cellRenderer: "agGroupCellRenderer",
cellRendererParams: {
checkbox: function(params) {
const node = params.node;
const isGroupRow = node.level === 0; //only show the checkbox on group row.
if (isGroupRow) {
params.node.selectable = //your condition whether the rendered checkbox is selectable or not
}
return isGroupRow;
}
}
Это сработало для меня
cellStyle: params => {
return params.data.myStatus ? {'pointer-events': 'none', opacity: '0.4' }
: '';
}
Обходной путь на чистом CSS:
.ag-selection-checkbox.ag-hidden {
display: inherit !important;
opacity: 0.6;
cursor: not-allowed;
}
Это перезапишет конфигурацию display: none в ag-hidden для оболочки флажка.
никогда не использовал эту библиотеку, но похоже, что вам нужно добавить какое-то свойство в каждую строку, которую вы хотите отключить, вместо того, чтобы искать решение для всей сетки.