Отменить выбор строк из угловой сетки ag

Есть ли какой-либо API-интерфейс сетки для программной отмены выбора выбранных строк ag-grid? Я пытаюсь выполнить какую-то операцию с выбранной строкой, в основном асинхронную операцию, после которой мне нужно отменить выбор этой строки из сетки.


person Riya    schedule 06.09.2018    source источник


Ответы (5)


Используется функция Grip API deselectAll. Это сработало !

this.gridOptions.api.deselectAll();
person Riya    schedule 06.09.2018
comment
Ура! кажется, вы нашли решение сами! Удачного кодирования! - person ak.leimrey; 06.09.2018
comment
это работает нормально, но из-за того, что эта таблица постоянно обновляется - person TAHA SULTAN TEMURI; 16.12.2019
comment
Можем ли мы отменить выбор какой-либо конкретной строки в aggrid? - person Rajat; 23.04.2020
comment
Лучше назначить объект API в его собственный объект (и запускать эту функцию из него) по событию gridReady, но в основном этот код отлично работает для своей цели. Спасибо - person TheCuBeMan; 09.08.2020

Для тех, кто найдет это в будущем:

Разрешите отмену выбора строки вручную, установив gridOptions.rowDeselection = true, как сказал Виктор.

Программно отмените выбор всех строк, используя gridOptions.api.deselectAll() как обнаруженный OP.

Чтобы программно отменить выбор одной строки, используйте rowNode.setSelected(false). rowNode.setSelected(isSelected, clearSelection) также можно использовать для выбора строк, и он отменит выбор всех строк, кроме подлежащего rowNode, если clearSelection равен true.

person naffarn    schedule 22.09.2020
comment
Что такое rowNode, где его взять? - person cs_pupil; 13.04.2021
comment
rowNode — это тип данных, возвращаемый функциями, получающими строки. Примеры этих функций, вызываемых из gridApi: ag-grid. com/angular-grid/grid-api/#reference-rowNodes Узнайте больше об узлах строк здесь: ag-grid.com/angular-grid/row-object - person naffarn; 14.04.2021

установите для gridOptions.rowDeselection значение true с rowSelection, так как несколько отменят выбор выбранного щелчком мыши при удерживании клавиши управления.

person Victor    schedule 28.12.2018

Вы можете попробовать метод deselectAll() в GridApi. Однако не похоже, что AgGrid имеет возможность отменить выбор определенных строк.

person ak.leimrey    schedule 06.09.2018
comment
Да, хотя у меня был один экземпляр сетки select ag, так что это сработало. Но если вы хотите отменить выбор некоторых конкретных строк, вы можете использовать api.forEachNodeAfterFilter( function(node) { // выберите узел node.setSelected(false); }); - person Riya; 06.09.2018
comment
Хорошо~ Я одобрил ваш вопрос. потому что я сам использую AgGrid и в конце концов сам могу наткнуться на эту проблему :) - person ak.leimrey; 06.09.2018

Чтобы отменить выбор определенной строки/узла, используйте api.getSelectedNodes() вместо getSelectedRows(). Затем для каждого узла используйте node.data для необходимой информации о строке, а затем node.setSelected(false), чтобы отменить выбор, когда закончите.

let selected = gridOptions.api.getSelectedNodes();
_.each(selected, function(node) {
    let row = node.data;
    //stuff
    node.setSelected(false);
});
person Loom    schedule 24.07.2021