【问题标题】:Angular2 + Ag-grid - Is it possible to move up/down a row with a button?Angular2 + Ag-grid - 是否可以使用按钮向上/向下移动一行?
【发布时间】:2017-09-25 05:47:49
【问题描述】:

我的 ag-grid 数组有问题,我有这个数组:

<div style="width: 100%;">
        <ag-grid-angular #agGrid style="width: 100%; height: 200px;" class="ag-fresh"
                         [gridOptions]="gridOptions"
                         [rowData]="rowData"
                         [columnDefs]="columnDefs"
                         enableColResize
                         rowSelection="multiple"
                         (columnResized)="onColumnEvent($event)"
                         (columnPinnedCountChanged)="onColumnEvent($event)">
        </ag-grid-angular>
    </div>

我有两个按钮:

<div class="bouton" placement="top" ngbTooltip="Déplacer instruction vers le haut">
    <button (click)="moveUp()">
        <img src="/src/images/flechehaut.png" style="width:60px;height:60px;" />
            </button>
</div>
<div class="bouton" placement="top" ngbTooltip="Déplacer instruction vers le bas">
    <button (click)="moveDown()">
        <img src="/src/images/flechebas.png" style="width:60px;height:60px;" />
    </button>
</div>

我想知道是否可以使用我的 move up 按钮向上移动一整行并使用我的 move down 按钮向下移动一行。 我查看了ag-grid documentation,但没有发现这种可能性。

至少有可能吗?如果是,我应该如何看待这个问题?

【问题讨论】:

    标签: angular ag-grid


    【解决方案1】:

    是的,我能想到两种可能:

    1. 重新排列 rowData 并将其重新加载到网格中
      • 这可能会变得昂贵,具体取决于您拥有的行数
      • 我当然希望您在所有列上都禁用排序,否则您的 moveUpmoveDown 函数将毫无用处
    2. 创建一个按升序排列项目顺序的列,然后您的moveUp/moveDown 函数只会将此数字更新为或多或少,然后您根据这些新值对网格进行重新排序。
      • 这将使 rowData 的顺序与最初发送到网格时的顺序相同,但以特定顺序显示。
      • 我认为有可能隐藏这个额外的列并仍然在该列上对其进行排序。

    【讨论】:

    • 所以我创建了一个列step,每次添加一行时数字都会增加;但是现在,如何使用按钮修改此值?如果我将editable: true 添加到我的gridOptions.columnDefs,我实际上可以修改它,但这不是我想要做的。
    猜你喜欢
    • 2019-12-02
    • 2018-10-10
    • 2021-09-21
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多