【问题标题】:Add row on ag grid with default value使用默认值在 ag 网格上添加行
【发布时间】:2019-07-28 12:30:10
【问题描述】:

我想在 ag 网格中添加一个新行,其中一列具有默认值。我的目标是使这个自动生成的值比列中的最大数多 1。 (这是假设列中的数字将严格连续加一。)

我查看了ag grid 'Updating Data' 页面,但这里的问题是假设您单击“添加行”。丰田 1 将出现在下一行 - 但如果您删除该行并再次单击“添加行”,丰田 2 将出现 - 尽管该列中不再有丰田 1。

我怀疑这是因为此示例没有跟踪列中的最大整数。

如何能够单击“添加行”并使列中的整数恰好比当前最大值大一?

示例:假设我点击“添加行”五次。

假设我希望我的“ColumnA”更新为比当前最大值多 1。我应该看到以下内容:

[添加行]

A 列 B 列 C
1
2
3
4
5

编辑:

如果 ColumnA 的当前值为
1
3
6
8
17

然后我希望“添加行”创建 18 作为下一行。如果我删除“17”,然后单击“添加行”,我希望将“9”作为下一行的值。

【问题讨论】:

  • 你真的想要 max 吗?还是第一个可用值? IE: 1, 4,5 是值然后添加一个新行应该在 2 弹出?或者你想让你的索引继续吗? IE:你有 1,2,3,你删除 2 然后 3 变成 2,你有 1,2
  • @GrégoryElhaimer 我不想在删除值时更改表中的任何其他值(即,如果我有 1、2、3 并且我删除 2 - 3 应该保留 3),我是寻找最大值

标签: html angular ag-grid ag-grid-angular


【解决方案1】:

您必须找到网格数据的最大 ID。为此,您可以使用forEachNode((node, index))

onAddRowClick(){
    let max = 0

    api.forEachNode( function(rowNode, index) {
        max < rowNode.myIndex ? max = rowNode.myIndex:;
    });

    // do your stuff with new index = max + 1
}

【讨论】:

    猜你喜欢
    • 2020-03-19
    • 2020-07-19
    • 2016-03-10
    • 2018-07-23
    • 2012-09-06
    • 2020-05-06
    • 2017-12-08
    • 1970-01-01
    • 2013-12-09
    相关资源
    最近更新 更多