使用默认值在 ag 网格上添加行

Posted

技术标签:

【中文标题】使用默认值在 ag 网格上添加行【英文标题】:Add row on ag grid with default value 【发布时间】: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),我是寻找最大值 【参考方案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

【讨论】:

以上是关于使用默认值在 ag 网格上添加行的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ag-grid 中添加与单元格中的数据相同的默认 headerTooltip?

使用 ag 网格,尝试按一个值对行分组并显示另一个

AG-Grid + React - 添加新行时忽略网格排序

amazon redshift 中存储的特定行的默认值在哪里?

ag-grid export 默认选择行

如何根据列中的某个值为 ag 网格中的整行提供背景颜色?