Ag-Grid React入门

2023-11-06

Ag-Grid和React兼容性:

react Ag-Grid
15.x 18 - 21.2.0
16.3X 22+

安装

npm install --save ag-grid-community ag-grid-react ag-grid-enterprise
  • ag-grid-community: 原始版本,零依赖性,不会拉取第三方依赖关系到应用程序中
  • 分组等高级功能是ag-grid-enterprise独有的功能。可以免费试用,如果打算用于生产项目,需要获取企业许可证密钥。
  • ag-grid-enterprise自定义上下文菜单和更高级的列菜单弹出。
    高级列菜单控制grid显示或隐藏部分列数据;控制grid列的宽度是否自适应,列pin的位置。
    自定义的上下文菜单提供了复制、粘贴、导出数据(.cvs、.xlsx、.xml格式)的功能

使用

// import依赖
import React, { useState } from 'react'
import { AgGridColumn, AgGridReact } from 'ag-grid-react';
import 'ag-grid-enterprise'
import 'ag-grid-community/dist/styles/ag-grid.css';
import 'ag-grid-community/dist/styles/ag-theme-alpine.css';
// 定义数据rowData
const [rowData, setRowData] = useState([
	{ make: "Toyota", model: "Celica", price: 35000 },
	{ make: "Ford", model: "Mondeo", price: 32000 },
	{ make: "Porsche", model: "Boxter", price: 72000 }
])
// grid定义
<div className="ag-theme-alpine-dark" style={ { height: 400, width: 600 } }>
	<AgGridReact
		rowSelection="multiple"
		rowData={rowData}
	>
		<AgGridColumn field="make" sortable={true} filter={true} checkboxSelection={true}></AgGridColumn>
		<AgGridColumn field="model" filter={true}></AgGridColumn>
		<AgGridColumn field="price" sortable={true}></AgGridColumn>
	</AgGridReact>
</div>
  • 通过容器元素的className设置网格theme
  • rowData对象的字段与AgGridColumn中的field值匹配

基本使用

排序

  • 在AgGridColumn上定义sortable属性,点击表头在升序、降序、无序之间切换
<AgGridColumn field="price" sortable={true}></AgGridColumn>

过滤

  • 在AgGridColumn上定义filter属性,筛选功能显示在列菜单中显示
<AgGridColumn field="model" filter={true}></AgGridColumn>

选择

  • AgGridReact上定义rowSelection属性,定义checkboxSelection属性
  • 获取并保存选中状态需要用到Ag-Grid提供的api,onGridReady事件返回params,包含各种api
// params 包含有type、api(gridApi)、columnApi
const [gridApi, setGridApi] = useState(null)
const [gridColumnApi, setGridColumnApi] = useState(null)

function onGridReady(params) {
	setGridApi(params.api);
	setGridColumnApi(params.columnApi);
}
<AgGridReact
	rowSelection="multiple"
	rowData={rowData}
	onGridReady={onGridReady}
>
	<AgGridColumn field="make" checkboxSelection={true}></AgGridColumn>
</AgGridReact>

分组

  • AgGridReact上设置autoGroupColumnDef和groupSelectsChildren;
  • AgGridColumn上设置rowGroup
<AgGridReact
	rowSelection="multiple"
	rowData={rowData}
	onGridReady={onGridReady}
	groupSelectsChildren={true}
	autoGroupColumnDef={{
		headerName: "Price",
		field: "price",
		cellRenderer:'agGroupCellRenderer',
		cellRendererParams: {
			checkbox: true
		}
	}}
>
	<AgGridColumn field="make" filter={true} rowGroup={true}></AgGridColumn>
</AgGridReact>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ag-Grid React入门 的相关文章

  • 如何隐藏 WPF ListView 的标头?

    我希望能够隐藏 WPF ListView 中每个网格列顶部的标题 这是我的 ListView 的 XAML
  • 正确设置 DataGridCell 样式

    这是我之前的问题之后的一个问题 你可以在那里找到它 https stackoverflow com questions 7092145 styling a textblock autogenerated in a contentpresen
  • DataRow(数据表)中的链接

    我正在动态构建一个数据表 并尝试在要添加到数据表的数据行中添加一个 链接 DataTable 在创建后绑定到 GridView 像这样的东西 DataTable dataTable new DataTable foreach Item it
  • 将 WPF DataGrid 导出到 Excel

    当我将 DataGrid 导出到 Excel 时 为什么我的值会发生变化 字符串 351732051316944 变为 3 51732E 14 和我的日期时间 2014 01 01 02 09 29 942 变为 41641 09035 我
  • 如何在代码中设置 DataGridTextColumn 的绑定?

    我正在使用 CodePlex 的工具包 DataGrid 我正在代码中生成列 我怎样才能设置相当于 绑定名字 在代码中 或者 我怎样才能设置值 这就是我需要做的 不一定要绑定它 我只想要数据网格单元格中模型属性的值 DataGridText
  • Flex DataGrid:根据另一个值更改值?

    我在 Flex 中有一个 DataGrid 其中一列是复选框 另一列是数值 单击该复选框时 数值应更改 如果未选中该复选框 则数值应更改为 0 如果选中该复选框 则应更改为预定义的最小值 这是我的代码
  • Angular 2 中的 ag-grid 单元测试

    有人在 Angular 2 中对 ag grid 组件进行过单元测试吗 对我来说 测试用例运行时 this gridOptions api 仍然未定义 很抱歉参加聚会有点晚了 但几天前我一直在寻找这个问题的答案 所以想为最终来到这里的其他人
  • Flex 垂直数据网格

    我可以有一个垂直而不是水平显示数据的数据网格吗 例如 如果这是我的数据提供者 array firstname John lastname Doe array firstname Jack lastname Jill 我希望数据显示如下 Fi
  • 如何以require格式打印页面的gridview

    我有一个来自数据库的 gridview 问题是当用户单击打印按钮时 我想打印整个页面 gridview 的每一行以给定格式打印为 1 A4 尺寸页面上的 3 行 gridview Printing format 如果你想使用 javascr
  • 通过样式设置 DataGridCellsPresenter 的 ItemsPanel 不起作用

    我正在尝试设置ItemsPanel of a DataGridCellsPresenter在我的窗口的资源中 Bu
  • 在应用程序创建完成时设置 Spark DataGrid 列的默认排序(Flex 4.5)

    我有一个包含多个列的 Spark DataGrid 组件 我希望我的应用程序默认按 DataGrid 中第一列的降序排列 我想使用单击顶部标题一次时发生的内置默认排序 我不需要对我正在使用的 ArrayCollection 进行排序或更改比
  • Silverlight Datagrid:在对列进行排序时突出显示整个列

    我的 Silverlight 应用程序中有一个 DataGrid 我想在对该列进行排序时突出显示整个列 它在概念上与上一个问题类似 Silverlight DataGrid 突出显示整列 https stackoverflow com qu
  • 获取GridView中选定行的索引

    我想使用复选框获取从 gridview 选择的行 复选框是这样的
  • 如何从WPF中的数据网格中获取单元格的值? [复制]

    这个问题在这里已经有答案了 可能的重复 从 DataGrid 中选择 DataGridCell https stackoverflow com questions 9978119 select datagridcell from datag
  • 如何在Android网格视图中设置单元格大小?

    我正在尝试为应用程序制作一个带有大图标的网格视图 但我找不到任何有关修改 Android 上网格布局上的单元格大小的教程 有人可以给我一个例子或相关链接吗 Thanks 就像另一个一样适配器视图 http developer android
  • 在SQLDatasource中使用存储过程时,Gridview不显示

    我以前偶然发现过这个问题 我知道这是一个常见问题 一个相关的问题是网格视图为空 https stackoverflow com q 5596451 777982 但这并不能解决我的问题 理想情况下 我想要的是当我单击 查找 按钮时根据文本框
  • 如何在gridview中根据屏幕尺寸设置图像宽度高度

    我想显示 3x3 大小的网格视图 我想根据设备尺寸设置高度和宽度 我正在参考这个链接 http www tutorialspoint com android android grid view htm 主要活动 public class M
  • 自动调整所有列的大小以适合内容

    我所有的搜索结果都是sizeColumnsToFit and autoSizeColumns这不是我想要的 我的网格有很多列 所以它水平滚动 这很好 但我无法提前知道一列中最宽的文本所需的最大空间是多少 因此希望网格自动调整所有列的大小以适
  • 在 Android 上获取一个滚动到 GridView 底部视图的按钮

    我正在尝试将现有的 iPhone 应用程序移植到 Android 我希望有一个按钮滚动到 GridView 底部的视图中 以使用户能够从服务器加载更多数据 目前 我的解决方案只是修复屏幕底部的一个按钮 而不是让它滚动到视图中 这是我的布局代
  • 如何从 GridView TemplateColumn 单击触发 UpdatePanel?

    我有以下情况 我的所有控件都在页面上的更新面板上 这些控件之一是 GridView 该 GridView 在标题模板字段上包含一个复选框 以进行全部选中 autopostback 是 true 但是当检查更改时 没有任何更改 更新面板会触发

随机推荐

  • Python 自动化测试实战

    一 Python实现HTTP接口测试 1 接口测试概述 1 接口测试简介 首先谈谈接口测试 接口测试和日常的人工测试不同 它往往不是一个对完整功能的测试 而是对某个服务的函数或者对外暴露的访问接口进行测试 测试的目的是检测该接口是否稳定可靠
  • python 版本错误导致的 roscore 问题

    这几天快疯了 ROS好多坑 提醒一下python的版本不要随意切换哈 我的python 从自带的python 2 7变成 python 3 6后出现很多的问题 其中一个就是 roscore问题 问题如下 Traceback most rec
  • 解决Error starting ApplicationContext.To display the conditions report re-run your application xxx的问题

    目录 1 配置文件的错误 2 编译的错误 3 定义请求接口重复的错误 4 没加 Mapper注解的错误 5 端口重复错误 6 包冲突的错误 7 总结 解决Error starting ApplicationContext To displa
  • mongod连接数据库被拒绝

    这周想着写一下实训项目 但是连接数据库的时候无论如何都连接不上 问题是单独写了一个连接文件运行时是可以连接上的 但是在那个项目里边一直显示连接被拒绝 const mongoose require mongoose 链接数据库 mongoos
  • 计算机网络--谢希仁--重要知识点整理

    由于我近期在复习计算机网络的时候无意间在网上发现了一个比较不错的文章 这位大佬归纳得很详细 所以我在这边转载一下分享给大家 文章作者 烟雨迷离半世殇 文章链接 计算机网络重点知识整理 烟雨迷离半世殇的成长之路 雄关漫道真如铁 而今迈步从头越
  • python Hill密码

    以下python代码用于生成Hill密码的密钥矩阵及其逆矩阵 PydevCodeAnalysisIgnore input N output a pair of matrix which is inverse matrix of anothe
  • epoll基本原理及使用框架

    epoll基本原理及使用框架 epoll是Linux下多路复用IO接口select poll的增强版本 它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率 因为它不会复用文件描述符集合来传递结果而迫使开发者每次等待事件之
  • 从零玩转系列之微信支付实战PC端接口搭建

    一 前言 halo各位大佬很久没更新了最近在搞微信支付 因商户号审核了我半个月和小程序认证也找了资料并且将商户号和小程序进行关联 至此微信支付Native支付完成 此篇文章过长我将分几个阶段的文章发布 项目源码都有 小程序和PC端 在此之前
  • 毕业设计-基于机器视觉的回转体零件表面缺陷检测研究-OpenCV

    目录 前言 课题背景和意义 实现技术思路 一 回转体零件的图像预处理 二 图像分割 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要
  • elementUI中el-tabs组件接口多次请求解决方案

    首先看代码
  • 软件测试学习路线-基础篇

    目录 功能测试 自动化测试Selenium和Appium 接口测试Jmeter 性能测试Loadrunner 软件测试自学实践部分比较难 因为需要找到有问题的源代码进行测试 更建议跟团队一起学习 下面讲讲软件测试的学习路线 希望对你有所帮助
  • Go项目配置管理工具---Viper

    目录 Viper概述 前言 功能 viper配置优先级 从Viper中获取值 读取配置文件 注册和使用别名 把值写入Viper 设置默认值 使用Set方法设置值 把配置信息写入配置文件 从io Reader中读取配置信息到viper 监控V
  • JetBrains注解@NotNull/@Nullable/@Contract

    JetBrains 的注解库 然后通过在 IDE 里面提示你处理那些可能为 null 的值 编译器没法检查并提示 避免NullPointerException 对于空指针异常 Java 只有 IDE 警告 正式名称叫 inferred an
  • 性能测试用什么工具?3分钟了解自动化测试工具Parasoft和LoadRunner的功能对比

    本文是自动化测试工具Parasoft功能对比之SOAtest测试篇之一 将介绍Parasoft SOATest和同类工具LoadRunner的功能对比 哪一款更强大一目了然 如果你想试用Parasoft的强大功能 可以申请Parasoft测
  • Could not connect to SMTP host: smtp.163.com, port: 25;阿里云 ECS

    ECS基于安全考虑 目前已禁用25端口 如果您的发送程序部署在阿里云ECS上 建议您不勾选SSL时 使用80端口 勾选SSL时 使用465端口 测试端口 telnet smtp 163 com 25 测试网络 ping smtp 163 c
  • Python由用户输入学生学号与姓名,数据用字典存储,最终输出学生信息(按学号由小到大显示)

    Python字典存储学生信息 且排序 由用户输入学生学号与姓名 数据用字典存储 最终输出学生信息 按学号由小到大显示 students while 1 student input 请输入学号 输入q停止输入信息 if student q b
  • 雷电模拟器谷歌套件安装的时候总是卡着转圈圈

    雷电模拟器安装谷歌套件 安装的时候总是卡着转圈圈 尝试开启网卡桥接 不过依然不行 最后各种把电脑的网络折腾切换 依然不行 开始的想法是觉得虚拟机的网络应该是串用电脑网络的 可是最后发现这样并不行 虚拟机并不能直接使用宿主机的网络环境 最后想
  • react的优化方法

    目录 1 render里面尽量减少新建变量和bind函数 传递参数是尽量减少传递参数的数量 2 定制shouldComponentUpdate函数 3 使用React PureComponent 4 使用React memo来缓存组件 5
  • Mysql使用sql语句建表

    Mysql使用sql语句建表 显示数据库列表 建库 删库 显示列表 删表 显示数据库列表 show databases 建库 create database 库名 删库 drop database 库名 建表 create table 表名
  • Ag-Grid React入门

    Ag Grid和React兼容性 react Ag Grid 15 x 18 21 2 0 16 3X 22 安装 npm install save ag grid community ag grid react ag grid enter