Ag-grid Angular Как получить события щелчка по заголовку?

Есть ли способ получать уведомления о событиях щелчка в заголовке ag-grid в Angular?

<ag-grid-angular>-Component предлагает несколько событий для щелчков по ячейкам (например, cellDoubleClicked). Они не срабатывают при щелчках по заголовкам, и мне не удалось найти никаких событий, специфичных для щелчков по заголовкам.

Этот вопрос уже задан кем-то другим. в прошлом и не ответил, поэтому я не думаю, что есть какой-либо встроенный способ.

Зачем мне это нужно?

Я работаю с другой библиотекой, чтобы предоставить контекстные меню для приложения, но я хочу различать разные контекстные меню для заголовков и обычных ячеек. Поэтому просто прослушивание события углового щелчка по умолчанию (для всего компонента сетки) не помогает, потому что мне нужен столбец / ячейка, по которым щелкнули.

Для справки в настоящее время я использую ag-grid 15.0.0, но я также ничего не нашел в текущей документации.


person KeTr    schedule 03.05.2018    source источник


Ответы (2)


Я думаю, что это возможно, если вы определите компонент заголовка (см .: Компоненты заголовка). В вашем шаблоне для компонента заголовка вы можете создать элемент div (или любой другой элемент контейнера) и определить обработчик событий (click). Это сработало для меня:

<div (click)='onHeaderClick($event)'>
  <p>Name</p>
</div>

(Конечно, вы, вероятно, захотите передать заголовок заголовка в параметрах методу agInit(), поскольку вам не нужно создавать отдельный компонент заголовка для каждого заголовка!)

person Andy King    schedule 03.05.2018
comment
Спасибо за Ваш ответ. После некоторого расследования выяснилось, что при реализации настраиваемого компонента заголовка реального отката нет. Мне пришлось бы самому реализовать и поддерживать сортировку и стили, и я не фанат этого. - person KeTr; 04.05.2018
comment
@KeTr Я согласен, что это не идеально, но это не выглядит так устрашающе, как вы могли подумать. Взгляните на этот Plunker ... кажется, header-component реализует необходимые вам функции: embed.plnkr.co / plunk / 1rHK9l - person Andy King; 04.05.2018

Вы можете в основном прослушивать событие «sortChanged», которое предоставляет ag-grid, когда вы щелкаете заголовок по умолчанию.

person abim    schedule 07.05.2019
comment
Да, и в sortChanged событие не сообщает вам, какой столбец, поэтому вызовите getSortModel (), чтобы получить его. - person Chris; 21.05.2019
comment
И обратите внимание, что getSortModel () по умолчанию будет иметь нулевой столбец каждые три щелчка, поэтому установите для столбца sortingOrder исключение `` без сортировки '' - person Chris; 21.05.2019