问题标签 [ag-grid-react]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
110 浏览

api - ag-grid-react 访问所选列值的相应行

我正在使用 ag-grid-react,我想根据其中一列的值访问一行的所有其他列值。这可能吗?这应该是一个非常简单直接的方法,但奇怪的是,我在ag-grid-react文档中没有找到准确的答案。api和columnApi有多种方法,但没有明确的链接可以让您获得相应的行基于其列之一的值!

我可能在这里遗漏了一些东西,非常感谢您的帮助!

先感谢您!

0 投票
1 回答
1287 浏览

ag-grid - 如何访问 ag-grid 单元格渲染器函数中的类函数

这说明“this._handleClick 不是函数”所以,如何在 linkRenederer 中调用 this._handleClick

0 投票
1 回答
1781 浏览

ag-grid - 如何在树中制作聚合函数(aggFuncs)?

我有一个像这里这样的树 我可以在节点中使用聚合函数吗?计算孩子的数量。如果是这样,怎么做?请使用文件浏览器显示示例

0 投票
1 回答
4833 浏览

reactjs - ag-grid :显示隐藏的列(被拖出)

我有一个 ag-grid(免费的 reactjs 版本),其中包含许多要加载的列和记录。

有些列不是必需的,因此用户可以将列拖出网格(并因此隐藏它们)。这很好,但是用户如何在不刷新页面的情况下再次显示隐藏的列?

我不想抑制列拖动,只是一种无需刷新即可撤消隐藏的方法。

有什么建议吗?

0 投票
1 回答
2850 浏览

ag-grid - 无法显示 ag-grid

我有一个带有一些简单虚拟数据的基本 ag-grid,但它仅在我不导入库提供的 .css 文件时才显示,即使这样它也显示不正确。

摘自我的 package.json:

从我的 React 组件:构造函数:

从渲染():

如果我在不导入任何 .css 的情况下运行此代码,我会得到一个混乱的网格,例如: 在此处输入图像描述

现在,如果我按照入门指南导入 css:

...然后网格的任何部分都不会显示(只有我在网格之前的 div)。导入 css 后,我是否为网格分配了主题都没有关系,没有任何显示。

0 投票
0 回答
554 浏览

ag-grid - AgGrid:添加/删除行,在 Grid 中已经应用了分组/排序/过滤

为了能够添加/删除行,在已经应用分组/排序/过滤的网格中,无需在此行添加/删除重新应用分组/排序/过滤。这是用户可以在一个组上工作,更新一些新值/添加可能仍然不属于同一组分组的新记录被重新应用,但我们不想重新应用分组,因为用户输入会分散在网格中,并且很难审查用户。

  • 我们尝试了什么 ("ag-grid": "^10.0.0", "ag-grid-enterprise": "^10.0.0", "ag-grid-react": "^10.0.0",)

  • 在某个事件/ btn click 上添加一个新行,在一个已经渲染的网格中,在启动时使用一些数据,使用以下(跳过刷新):

    Let newItems = []; let newItem= { id: 'SomethingNewId'+Math.random(), qty: 300, owner:"Deepak Kumar SHarma", isUpdated: true }; newItems.push(newItem); this.gridOptions.api.insertItemsAtIndex(4, newItems, true); // Saying do not refresh the grid

  • 在上述步骤之后,我通过迭代看到已添加了一个 rowNode,但行在网格中不可见。然后尝试仅刷新此新添加的行,使其在网格中可见,期望它无需重新应用此过滤器/排序/过滤:

    let nodes = []; this.gridOptions.api.forEachNode( (node, index) => { if (node.data!==null && node.data!==undefined && node.data.isUpdated===true) { nodes.push(node); } }); this. gridOptions.api.refreshRows(nodes);

  • 但是仍然看不到网格中新添加的行。

  • 如果我只是再次手动将排序/过滤/分组更改为一些新设置,我会在网格中看到新行。
0 投票
1 回答
5646 浏览

ag-grid - ag-grid checkboxSelection默认值

我有一个带有简单复选框选择的 ag-grid,并且希望在加载网格/数据时“检查”一些行。

我可以使用回调来设置行的选择状态吗?

0 投票
1 回答
5072 浏览

ag-grid-react - Ag-grid-react 未正确刷新

我是 Ag-grid-react 的新手。目前,App 中有一个简单的反应表可以正常工作,但它没有像 Ag-grid 这样的强大功能。我正在考虑切换到 Ag-grid-react。

但是,在实施过程中。我发现当我将外部数据源中的道具更新到 Ag-grid 时。Ag-grid-react 会自动重新渲染整个表格并忘记之前的设置。

我使用 Meteor 1.4 作为平台,React 15.4.2 作为框架。

问题: this.props.data 是我要显示的外部数据源。它适用于第一次渲染,但是当我从外部更改单元格值时。这个道具变了。它会重新渲染表格。如何避免自动重新渲染并仅更改我已更改的单元格值?

我在文档中看到有 API 可以调用并更改 Ag-grid 中的行数据。如果我使用 API,那么每次更改数据时都需要在数据源中进行 prev props 和 current props 检查,并使用 API 将更改发送到 Ag-grid。是否假设 React 会自动检查并仅重新渲染我已更改的子组件?

让我知道是否有任何解决方案可以解决此问题。

部分代码:

0 投票
0 回答
39 浏览

reactjs - 防止在 Enter 时退出 cellEdit 的默认行为

我试图避免 Enter 键的默认行为,因为它退出了 ag-grid 中的单元格编辑。我已经看到了一些添加 eventListeners 并避免进入的方法,但无法在 reactjs 中实现。有人尝试过任何其他方法来阻止 Enter 上的默认行为吗?

0 投票
1 回答
114 浏览

javascript - ReactJS:更新道具 - 将 2 个键:值对的 17 个对象数组变成一个具有 3 个键:值对的对象数组

我是前端编程的新手/初级,但我正在帮助另一个人为应用程序构建 Web UI。在大多数情况下,我已经学到了足够多的东西来了解一切的基本概念,尽管我正在尝试添加一个有点困难的功能。

长话短说,我有两个 ag-grids(使用 reactJS)。主要的包含数据并且可以过滤,我正在尝试制作第二个,它不仅包含主要的列名,而且动态列出已应用的过滤器。第二个网格就像用户的助手/助手网格

到目前为止,我的理解帮助我完成了一半(我已经设法用主网格中的所有列标题填充第二个 ag-grid)。

列标题数据被存储并从道具中提取。类似于:

行数据:this.props.report.view.columns

如果您运行 console.log(this.props.report.view.columns) (我使用的是 chrome 开发人员工具中的控制台),您将看到一个包含 17 个对象的数组,其中包含列信息。结构如下图:

我只想说这看起来像一个由 17 个对象组成的数组,每个对象都包含两个键:值对。我想要做的是添加第三个键值对

我有另一个道具,它提供键:值对,只有应用了过滤器的列(即 columnName:blah , filter:blahh ,其中列名存储在不同的键名下)。

我计划实现的伪代码是这样的:

我最终要做的是将这 17 个对象数组的 2 个键:值对更改为具有 3 个键值对的 17 个对象数组这样的事情可能吗?如果是这样,我可以得到一些建议吗?我有点担心我使用的整个计划是错误的。我的高级同事建议我使用回调使用不同的计划,但我不知道如果没有重大代码更改怎么可能(这就是我坚持直觉的原因)