#javascript #reactjs #ag-grid
#javascript #reactjs #ag-сетка
Вопрос:
Я использую таблицу AgGrid в своем приложении. Вот демонстрация. Согласно документации, я хочу остановить перемещение столбцов. Для этого я использовал:
suppressMovable: true
Приведенный выше код, который я использовал здесь:
columnDefs: [
{
headerName: 'Athlete', //the generic name of header
children: [
{
field: 'athlete', //children header from generic header
width: 150,
suppressMovable:true
},
{
field: 'age',
lockVisible: true,
cellClass: 'locked-visible',
suppressMovable:true
},
{
field: 'country',
width: 150,
},
{ field: 'year' },
{ field: 'date' },
{ field: 'sport' },
],
...
suppressMovable:true
это работает, и столбцы athlete
и age
невозможно перемещать, как другие, но этот код также отключает перемещение основного столбца: Athlete
. Поэтому, когда я пытаюсь переключить место Athlete
и Medals
столбцов, я не могу, но я не хочу этого, я хочу установить эти 2 основных столбца как подвижные.
Вопрос: Как отключить перемещение столбцов внутри Athlete
и Column
, но сохранить функциональность перемещения этих 2 основных столбцов?
Комментарии:
1. Вы можете разветвить проект и изменить эту функцию так, чтобы она не учитывала дочерние столбцы при принятии решения о том, следует ли подавлять перемещение группы столбцов.
Ответ №1:
Простой ответ — вы не можете.
Если какой-либо дочерний элемент исправлен, то AG Grid не позволяет перемещать группу.
вы можете написать пользовательский прослушиватель событий (если это возможно), чтобы изменить suppressMovable
свойство дочерних столбцов во время перетаскивания родительского столбца, а затем снова установить для них значение not movable / suppressMovable
значение true. в противном случае вы можете программно переместить все столбцы в группе, используя moveColumnByIndex(from,to)
Комментарии:
1. как добавить прослушиватель событий, когда я пытаюсь переместить эти 2 основных столбца?
2. не могли бы вы взглянуть, пожалуйста?
3. конечно, дай мне немного времени.
4. вы нашли решение?