【问题标题】:Disable movement of columns in agGrid禁用 agGrid 中列的移动
【发布时间】:2020-09-16 11:17:13
【问题描述】:

我在我的应用程序中使用 AgGrid 表。这是demo。根据文档,我想停止列的移动。为此我使用了:

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,它可以工作,并且 athleteage 列不能像其他列一样移动,但此代码也禁用主列的移动:Athlete。因此,当我尝试切换 AthleteMedals 列的位置时,我不能,但我不想这样,我想将这 2 个主要列设置为可移动。
问题:如何禁用AthleteColumn 内的列移动,但要保留这两个主要列的移动功能?

【问题讨论】:

  • 您可以分叉项目并将function 更改为在决定是否应禁止列组移动时不考虑子列。

标签: javascript reactjs ag-grid


【解决方案1】:

开箱即用的答案是你不能。

如果任何孩子是固定的,那么 AG Grid 不允许移动组。

您可以编写自定义事件侦听器(如果可能)以在拖动父列时更改子列的suppressMovable 属性,然后再次将它们设置为不可移动/suppressMovable 为 true。否则,您可以使用 moveColumnByIndex(from,to) 以编程方式移动组中的所有列

【讨论】:

  • 当我尝试移动这两个主要列时如何添加事件监听器?
  • 你能看一下吗?
  • 一定要给我一些时间。
  • 您找到解决方案了吗?
猜你喜欢
  • 2022-11-15
  • 2017-01-17
  • 2020-01-15
  • 2023-04-06
  • 2019-03-24
  • 1970-01-01
  • 2021-10-08
  • 2018-10-12
  • 2023-03-25
相关资源
最近更新 更多