标签: ag-grid-react

如何在AG网格控件的标题中居中放置文本?

如何在AG网格控件的标题中居中放置文本?我曾尝试在列定义中使用cellstyle和cellclass,但这没有用。谢谢

javascript css reactjs ag-grid ag-grid-react

6
推荐指数
6
解决办法
9058
查看次数

Ag-Grid:如何获得有针对性的细胞价值

如何通过使用键盘箭头键在聚焦于单元格的时间获得聚焦单元格值

grid ag-grid ag-grid-react

6
推荐指数
1
解决办法
5593
查看次数

ag-grid 修改行组的标题名称

我用来ag-grid显示一个带有Row Grouping. 我分组所依据的列是不可见的,因为它的值没有意义。

例如,我将有以下(完全折叠的)表格:

---------------------------------
|   H1       H2        H3        |
----------------------------------
| > groupId1 (1)                 |
----------------------------------
| > groupId2 (5)                 |
----------------------------------
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,分组是通过用户不友好的 ID 完成的这根本没有反映在列定义中。我想将groupId1/更改groupId2为用户友好的文本,该文本根据组行的内容动态分配。

我在用React

我使用 ag-Grids 示例作为起点,以下示例体现了我面临的问题:(例如: https: //plnkr.co/edit/VM59gScPD55PhX4y4JBj ?p=preview )

  1. 它有行分组
  2. 分组是通过不可见的列(国家/地区)完成的
  3. 我想将国家/地区名称动态更改为从内行的值派生的不同值。

谢谢你的时间。:)

ag-grid react-redux ag-grid-react

6
推荐指数
2
解决办法
1万
查看次数

如何更改复选框颜色?AG网格

尝试更改复选框颜色(由于更改强调色)会导致黑色复选框。

所以我安装了node-sass并成功地更改了各种其他样式,例如,行的悬停颜色$hover-color: cornsilk;

但不知何故使用: $accent-color: #fffff1;$ag-mat-accent: #fffff1; 只会将其从默认的粉红色更改为黑色。

$ag-icons-path: "~ag-grid-community/src/styles/ag-theme-material/icons/";

$accent-color: #fffff1;
$icon-color: #03a9f4;
$hover-color: cornsilk;

@import "~ag-grid-community/src/styles/ag-grid.scss";
@import "~ag-grid-community/src/styles/ag-theme-material/sass/ag-theme-material.scss";
Run Code Online (Sandbox Code Playgroud)

选中后,我的预期结果将是一个白色的复选框。相反,无论我选择什么颜色,我都会得到一件黑色的。

ag-grid-react

6
推荐指数
2
解决办法
1万
查看次数

ag-grid webpack CSS无法访问网站

我在我的react应用程序中使用ag-grid,无法使CSS与Webpack一起使用。

网格看起来像这样

图片: 在此处输入图片说明

const path = require("path");
var webpack = require("webpack");
let HtmlWebpackPlugin = require("html-webpack-plugin");
let CopyWebpackPlugin = require("copy-webpack-plugin");
var BundleAnalyzerPlugin = require("webpack-bundle-analyzer")
  .BundleAnalyzerPlugin;
var BitBarWebpackProgressPlugin = require("bitbar-webpack-progress-plugin");
let plug = require("@babel/plugin-proposal-class-properties");
module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      },
      {
        test: /\.(png|woff|woff2|eot|ttf|svg)$/,
        loader: "url-loader?limit=100000"
      },
      {
        test: /\.css$/,
        use: "css-loader/locals"
      }
    ]
  },
  node: {
    fs: "empty"
  },
  context: path.join(__dirname, "Scripts", "src"),
  entry: {
    d1: "./entries/d1Page.js",
    h1: "./entries/h1Page.js",
    polyfills: …
Run Code Online (Sandbox Code Playgroud)

css reactjs webpack ag-grid ag-grid-react

6
推荐指数
1
解决办法
243
查看次数

为什么在此自定义过滤器中没有调用“doesFilterPass”

据我了解,当filterChangedCallback被调用时,网格会过滤当前数据并调用doesFilterPass,并isFilterActive这样做。

这里我有一个使用自定义过滤器和浮动过滤器的列。浮动过滤器(一个复选框)显示正常,当我onFloatingFilterChanged在调用自定义过滤器中单击它时,会出现绿色过滤器活动图标,网格会刷新,但doesFilterPass根本不会被调用,我无法弄清楚为什么。

有一些基本的东西我没有通过自定义过滤器得到,所以如果有人能阐明这一点,我将不胜感激。

(编辑:这可能是有问题的自定义/浮动过滤器之间的相互作用。去年在 github 上发布了类似的 ag-grid-angular 问题,但没有任何结果。所以也许这是一个错误?)

定制过滤器

export default class BooleanFilter {

  init(params) {
    this.params = params;
    this.valueGetter = params.valueGetter;
    this.filterChangedCallback = params.filterChangedCallback;
    this.status = false;
  }

  onFloatingFilterChanged(status) {
    this.status = status;
    this.filterChangedCallback();
  }

  getGui() {
    return '<div />';
  }

  getModel() {
    return this.isFilterActive() ? { filterType: 'boolean', filter: this.status } : undefined;
  }

  setModel(model) {
    this.state.status = model ? model.value : '';
  }

  isFilterActive() { …
Run Code Online (Sandbox Code Playgroud)

ag-grid-react

6
推荐指数
0
解决办法
1995
查看次数

如何在React功能组件中访问ag-Grid API(useState hook)?

在React 功能组件内访问 ag-Grid API的最佳方式是什么?

我必须使用 API 中的一些方法(getSelectedNodessetColumnDefs),因此我在事件处理程序中保存对 API 的引用(使用useState挂钩)onGridReady

onGridReady={params => {
    setGridApi(params.api);
}}
Run Code Online (Sandbox Code Playgroud)

然后我可以像这样调用 API:gridApi.getSelectedNodes()

我没有注意到这种方法有任何问题,但我想知道是否有更惯用的方法?

堆:

  • ag-grid-community 和 ag-grid-react 22.1.1
  • 反应16.12.0

function ag-grid ag-grid-react react-hooks

6
推荐指数
2
解决办法
3801
查看次数

AG-Grid React,在数据更改时无法更新自定义单元格渲染器。函数组件的行为与类组件不同

我在整个 React 应用程序中使用 AG-Grid,并且在某些情况下我希望 cellRenderer 在网格数据更改时进行更新。在以下两种情况下,cellRenderer 最初会正确加载,但在数据更改时不会更新:

  1. 用户编辑可编辑单元格并更改值。
  2. 服务器更新redux中的网格数据

看看这个代码和盒子

在此示例中,我使用可编辑单元重新创建了第一个用例,并使用了类组件和函数组件。将 onCellValueChanged 与 params.api.refreshCells() 一起使用,我能够更新类组件,但不能更新函数组件。

第一个问题:如何让 React 函数组件使用新的 props 重新渲染,就像在codesandbox示例中类组件重新渲染一样?

第二个问题:是否有更好的方法来更新 cellRenderer,而无需在数据更新时卸载并重新安装列中的每个单元格?

预先感谢您的帮助和指导!

...
    this.state = {
      columnDefs: [
        {
          headerName: "Editable Country",
          editable: true,
          field: "country",
          width: 200
        },
        {
          headerName: "Class Render",
          cellRendererFramework: GridCellClass,
          colId: "class-renderer",
          width: 200
        },
        {
          headerName: "Function Render",
          cellRendererFramework: GridCellFunction,
          colId: "function-renderer",
          width: 200
        }
      ],
      rowData: []
    };
  }

...

            <AgGridReact
              rowModelType="infinite"
              columnDefs={this.state.columnDefs}
              enableColResize={true}
              rowClassRules={{
                california: function(params) {
                  return params.data.country === …
Run Code Online (Sandbox Code Playgroud)

javascript cellrenderer reactjs ag-grid ag-grid-react

6
推荐指数
1
解决办法
1万
查看次数

使用 Enzyme 和 RTL 进行测试时,AG Grid React 不会渲染单元格值

因此,最近我们将 ag-grid-react 和 ag-grid-community 从 27.0.1 更新到 28.0.0,之前的工作测试现在失败了。测试尝试从行单元格获取一个值并与给定值进行比较。

测试(v.27.3.0)

describe("Simple list rendering", () => {

const handleRowDoubleClick = () => { }
const handleRowSelect = () => { }
const formDataWithId = formData.map((item, index) => {
    const newItem = checkNumberLength(item, items);
    return { ...newItem, id: index };
});
const colDefs = [{
    headerName: "test",
    valueGetter: "7"
}]

const listRender = (
    <AgGridReact
        columnDefs={colDefs}
        rowData={formDataWithId}
        rowSelection="multiple"
        suppressClickEdit={true}
        onRowClicked={handleRowSelect}
        onRowDoubleClicked={handleRowDoubleClick}
        immutableData={true}
        rowHeight={28}
    />
)


let component
let agGridReact
beforeEach((done) => {
    component …
Run Code Online (Sandbox Code Playgroud)

reactjs ag-grid enzyme ag-grid-react react-testing-library

6
推荐指数
0
解决办法
519
查看次数

ag-grid-react无法正常渲染

以下文档中的示例:https: //www.ag-grid.com/best-react-data-grid/index.php

创建新的反应应用程序后(在不同的机器上尝试了几次)

create-react-app whatever
Run Code Online (Sandbox Code Playgroud)

如果我应用样式表(ag-grid.css和theme-fresh.css),则渲染的所有内容都是整个页面的灰线.任何其他组合都会呈现空白页面.删除ag-grid.css渲染网格,但它遍布整个地方.

有人最近成功使用过React吗?有人推荐不同的东西吗?(要求:分页,排序,过滤,可选择的行)

谢谢 :-)

import React, { Component } from 'react';
import {AgGridReact} from 'ag-grid-react';
import '../node_modules/ag-grid/dist/styles/ag-grid.css';
import '../node_modules/ag-grid/dist/styles/theme-fresh.css';

class App extends Component {
  constructor(props) {
    super(props);
    this.state = {
      columnDefs: [
        {headerName: 'First Name', field: 'name' },
        {headerName: 'Last Name', field: 'lname'  }
      ],
      rowData: [
        { name: 'Dave', lname: 'Smith' },
        { name: 'Tommy', lname: 'Smith' },
        { name: 'Lea', lname: 'Jones' }
      ]
    }
  }
  render() {
    return (
      <div …
Run Code Online (Sandbox Code Playgroud)

reactjs ag-grid ag-grid-react

5
推荐指数
1
解决办法
2206
查看次数