首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ag Grid如何从代码中设置过滤服务器端

Ag Grid是一个用于构建高级数据表格的JavaScript库。它提供了丰富的功能和灵活的配置选项,可以满足各种数据展示和操作需求。

要在代码中设置Ag Grid的服务器端过滤,可以按照以下步骤进行操作:

  1. 配置数据源:首先,需要设置Ag Grid的数据源,即从服务器获取数据的方式。可以使用Ag Grid提供的ServerSideDatasource类来实现服务器端数据源。该类需要实现IServerSideDatasource接口,并提供以下方法:
    • getRows(params: IServerSideGetRowsParams): void:该方法用于从服务器获取数据。params参数包含了过滤、排序和分页等信息,可以根据这些信息向服务器发送请求并获取相应的数据。
    • destroy?(): void:可选方法,用于在销毁数据源时执行清理操作。
  • 设置过滤器:在Ag Grid的列定义中,可以通过设置filter属性来启用过滤器。可以使用内置的过滤器类型,如文本过滤器、数字过滤器、日期过滤器等,也可以自定义过滤器。对于服务器端过滤,需要设置filterParams属性,并提供以下参数:
    • applyButton?: 是否显示应用按钮,用于手动触发过滤操作。
    • clearButton?: 是否显示清除按钮,用于清除过滤条件。
    • newRowsAction?: 过滤操作完成后的行为,默认为keep,即保留过滤后的行,也可以设置为discard,即丢弃过滤后的行。
  • 实现数据过滤:在getRows方法中,可以根据params参数中的过滤条件,向服务器发送请求并获取符合条件的数据。可以使用数据库查询、API调用等方式来实现数据过滤。

以下是一个示例代码,演示了如何从代码中设置Ag Grid的服务器端过滤:

代码语言:txt
复制
// 导入Ag Grid相关的类和方法
import { GridOptions, ServerSideGetRowsParams, IServerSideDatasource } from 'ag-grid-community';

// 创建数据源类
class CustomServerSideDatasource implements IServerSideDatasource {
  // 实现getRows方法
  getRows(params: ServerSideGetRowsParams): void {
    // 根据params中的过滤条件向服务器发送请求并获取数据
    // 这里假设通过API调用获取数据
    fetch('https://example.com/api/data', {
      method: 'POST',
      body: JSON.stringify(params.request),
      headers: {
        'Content-Type': 'application/json'
      }
    })
      .then(response => response.json())
      .then(data => {
        // 将获取的数据传递给Ag Grid
        params.successCallback(data.rows, data.totalCount);
      })
      .catch(error => {
        // 处理错误情况
        params.failCallback();
      });
  }

  // 可选方法,用于在销毁数据源时执行清理操作
  destroy?(): void {
    // 执行清理操作
  }
}

// 创建Ag Grid实例
const gridOptions: GridOptions = {
  // 设置数据源为自定义的服务器端数据源
  serverSideDatasource: new CustomServerSideDatasource(),
  // 设置列定义,包括过滤器配置
  columnDefs: [
    { field: 'name', filter: 'agTextColumnFilter', filterParams: { applyButton: true, clearButton: true } },
    { field: 'age', filter: 'agNumberColumnFilter', filterParams: { applyButton: true, clearButton: true } },
    // 其他列定义...
  ],
  // 其他配置项...
};

// 创建Ag Grid实例并绑定到DOM元素
const gridDiv = document.querySelector('#myGrid');
new agGrid.Grid(gridDiv, gridOptions);

在上述示例代码中,我们创建了一个自定义的服务器端数据源类CustomServerSideDatasource,实现了IServerSideDatasource接口的getRows方法。在该方法中,我们通过API调用向服务器发送请求,并将获取的数据传递给Ag Grid的successCallback方法。同时,我们设置了列定义中的过滤器配置,启用了文本过滤器和数字过滤器,并设置了应用按钮和清除按钮。

通过以上步骤,我们可以在代码中设置Ag Grid的服务器端过滤,实现根据过滤条件从服务器获取数据并展示在Ag Grid中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【JavaScript数据网格】上海道宁51component为你带来企业JS开发人员首选的数据网格——AG Grid

AG Grid不知道有任何其他网格组件允许您网格内的任何这些框架中进行选择,同时保持不可知论。04、专用框架GUI支持AG Grid有一组用于主网格的核心代码。...这两套代码都可以在 Github 上找到,您可以在其中查看代码并提出问题和拉取请求。开源性质允许社区为 AG Grid 团队提供建议并充当代码审查者。闭源项目没有相同的社区支持或知名度。...07、免费和商业AG Grid有免费版和商业版。这使每个人都可以AG Grid受益,即使他们的预算有限。商业版本为项目的发展提供资金。...10、设置过滤器Set Filter的工作方式与Excel类似,提供复选框以集合中选择值。11、工具面板工具面板允许用户操作列列表,例如显示和隐藏,或拖动列进行分组或旋转。...当网格的透视模式处于活动状态时,透视图菜单项将出现在网格的上下文菜单。03、交叉过滤图表 API交叉过滤图表允许用户以简单直观的方式与数据交互。单击图表元素会自动过滤网格和其他交叉过滤图表的值。

4.3K40
  • Godot Engine:跨平台游戏开发的新境界 | 开源日报 No.92

    ag-grid/ag-grid[2] Stars: 10.2k License: NOASSERTION picture AG Grid,是一个功能齐全且高度可定制的 JavaScript 数据表格。...此外,AG Grid 还具有以下突出特点: 分组/聚合 可访问性支持 自定义过滤器 原地单元格编辑 记录懒加载 服务器端记录操作 实时流更新 与其他数据表不同之处在于 AG Grid 具有完整的自定义能力和灵活性...以下是该项目的关键特性和核心优势: 支持非压缩格式:现在支持直接 GitHub 克隆或下载未压缩的插件,并将其放置在 plugins 目录。这样做使得安装过程更加简便。...插件配置文件独立:将插件设置 .env 文件移动到根目录下的新建 plugins_config.yaml 文件,增强了对插件配置的灵活控制。.../ag-grid: https://github.com/ag-grid/ag-grid [3] mapbox/mapbox-gl-js: https://github.com/mapbox/mapbox-gl-js

    51510

    基于 Angular Material 的 Data Grid 设计实现

    本文会介绍 Data Grid 的使用方法及比较好的一些功能实现。说点题外话,开发一款插件最大的难度不在于功能的实现,而在于如何去设计插件。 什么是 Data Grid?...目前市面上功能最全的 Data Gridag-grid,很多组件库也有自己的 Data Grid 实现,比如 Ignite UI,Kendo UI。...设置不可选取行的方式有两种,一种是设置 checkbox 为 disabled,另一种是隐藏 checkbox。配置非常简单,只需要通过 rowSelectionFormatter 过滤数据即可。...Data Grid代码如下: 设置 expandable 和 expansionTemplate <mtx-grid [data]="list" [columns]="columns...我遇到的需求来看,目前的 Data Grid 已经可以覆盖九成的需求了,还有很多高级功能正在开发当中,欢迎大家提出建设性意见。

    5K20

    20多个好用的 Vue 组件库,请查收!

    特点 多列排序 非连续选择 过滤数据和验证数据 导出文件 有条件的格式化 合并单元格 隐藏行/列 上下文菜单和注释 Ag Grid Vue 地址:https://github.com/ag-grid/...Ag-Grid 是一个基于Vue.js的数据表格组件。其中,“ag” 表示 “agnostic”。内部 ag-Grid引擎是在TypeScript实现的,零依赖关系。...ag-Grid通过包装器组件支持Vue,你可以在应用程序,就像其他任何Vue组件一样使用ag-Grid。它支持通过属性绑定传递配置,通过事件绑定来处理事件。...V-Charts 是基于 Vue2.0 和 Echarts 封装的图标组件,只需要统一提供一种对前后端都友好的数据格式设置简单的配置项,就可以生成常见的图表。...代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。

    7.5K10

    20 多个好用的 Vue 组件库

    特点如下: 多列排序 非连续选择 过滤数据和验证数据 导出文件 有条件的格式化 合并单元格 隐藏行/列 上下文菜单和注释 Ag Grid Vue 地址:https://github.com/ag-grid.../ag-grid Ag-Grid 是一个基于 Vue.js 的数据表格组件。...其中,“ag” 表示 “agnostic”。内部 ag-Grid 引擎是在 TypeScript 实现的,零依赖关系。...ag-Grid 通过包装器组件支持 Vue,你可以在应用程序,就像其他任何 Vue 组件一样使用 ag-Grid。它支持通过属性绑定传递配置,通过事件绑定来处理事件。...地址:https://github.com/ElemeFE/v-charts V-Charts 是基于 Vue2.0 和 Echarts 封装的图标组件,只需要统一提供一种对前后端都友好的数据格式设置简单的配置项

    7.8K10

    我是如何爱上ag-grid框架的

    我创建了这个填充bug的怪物而不是解决网格项目,只是在我的代码添加了很多猴子补丁。我当时年少无知。 目标 所以改变了目标。...我查看了AngularJS 1.x的多个网格项目,没有像ag-Grid那样活跃,当我随便链接链接时,我登陆了ag-Grid示例页面。我的前任做错了!...我及时检查了源代码,发现ag-Grid有一个column定义字段,其中包含我真正需要的所有内容。这伴随着排序,过滤,固定和最重要的 - 分组,聚合以及拥有所需数量的行的能力。...后来,我添加了自己的数据虚拟化(在ag-Grid上重构之前)并且享受了网格API提供的一些很酷的东西。完成后,CRM的开发很快。...“ 现在,对JavaScript的数据网格,尤其是AngularJS 1.x的教育和经验,我只是笑着教他们关于ag-Grid

    6.2K40

    如何使用JSubFinder网页JS代码寻找到敏感信息

    关于JSubFinder JSubFinder是一款基于Golang开发的敏感信息搜索工具,根据给定的URL地址,广大研究人员可以轻松使用JSubFinder来寻找目标网站页面&JavaScript隐藏的子域名和敏感信息...flags] Flags: -c, --crawl 启用爬虫功能 -g, --greedy 检测目标URL的所有文件和JavaScript代码...help 查看搜索功能帮助信息 -f, --inputFile string 包含目标域名的文件路径 -t, --threads int 设置需要使用的线程数量...,例如API密钥等 --sig string 设置敏感数据的签名位置 -S, --silent 不向控制台终端打印数据 (向右滑动、查看更多...,例如API密钥等 --sig string 设置敏感数据的签名位置 -S, --silent 不向控制台终端打印数据 (向右滑动、查看更多

    2.6K30

    AgGrid框架的使用感受及前景分析

    免责声明:文章源于本人闲情雅致,没有任何广告意图 我向来是不屑于使用前端框架的,最多用一些ui组件,但是ag-grid这个框架太TM好用了。...据我所知,前公司现在依然在用我的C9X,经过4个大版本,无数个小版本迭代之后的C9X之所以成熟稳定完全是依靠它背后强大的驱动引擎Ag-Grid而生存的。...Ag-Grid:媲美Excel的web框架 完美的集合关系模型如何在前端展现呢,最好的办法呢就是画一个表格,经过1个多月的框架抉择,我终于在能力矩阵2.X版本中选择用aggrid来重构整个系统。...著名的前端框架ag-grid就是在这个理论上诞生的。 简而言之,表格即图表,图表即表格,它们在数据上是一致的,只是表现形式不同而已。...设计focus对象 focus对象是我常用的一种自定义对象,通常挂载在window.app上,但在aggrid这个重量级框架面前,也可以挂载在元素上面。

    6K40

    《后现代全栈系统的设计与应用》

    图3.1 material design提供的各种UI元素 除此之外还需要一个表格驱动引擎Ag-grid,这是一个重量级的网格插件,可以在表格的基础上提供丰富的操作,表格的主题也支持material,如图...Ag-grid并不是由社区维护,而是一家公司,版本更新的力度很足,issue反馈率也非常高,所以Ag-gird非常可靠。...图3.2 ag-grid的material主题的大致风格 3.2 后端框架 Web容器采用最流行的express。...3.3 全栈设计模式 前端并没有使用经典的mvvm框架,同时ag-grid提供的状态栏和context菜单内置了数据绑定的功能,所以前端间接性的使用了MVVM设计模式。.../ . ag-grid前端框架官网. 2019.4-1 [11] https://developer.mozilla.org/zh-CN/ . mozilla前端开发者网站(MDN). 2019.2-1

    1.1K20

    10 款你不知道的 Linux 环境下的替代工具!

    在这篇文章,就来给大家介绍下如何在 Linux 安装和使用 bat 命令。...显示的信息可通过图形设置进行配置,并且可以交互排序和过滤,与进程相关的任务(例如终止和重新处理)可以在不输入其 PID 的情况下进行完成。...显示选项 -1,--oneline:每行显示一个条目 -G,--grid:将条目显示为网格(默认) -l,--long:显示扩展细节和属性 -R,--recurse:递归到目录 -T,--tree:作为树递归到目录...fd 输出是彩色的,类似于某些 ls 模式,它是递归的,在包含 Git 存储库的目录搜索源代码文件时,fd 会自动排除隐藏的文件和目录,包括.、.git目录,并忽略.gitignore文件的模式。...java 文件搜索含 sed 的文本 ag --xml sed:在 XML 文件搜索含 sed 的文本 ag 命令的使用 根据文件名进行搜索对应的文件,可使用-g参数选项。

    1.5K21

    vim 插件管理 Vundle

    全局搜索 Plugin 'rking/ag.vim' " 代码分析 Plugin 'majutsushi/tagbar' " 主题 Plugin 'chriskempson/base16-vim'...(git|hg|svn|pyc)$' " 设置过滤不进行查找的后缀名 " rking/ag.vim ag 全局搜索设置 " let g:ag_highlight=1 let g:ag_prg="ag...--vimgrep --smart-case" let g:ag_working_path_mode="r" " 总是项目根目录开始搜索 " majutsushi/tagbar 代码分析设置 nmap...set nocompatible " 关闭 vi 兼容模式 set encoding=utf-8 set fileencoding=utf-8 set fileformat=unix "Win上复制文件时...u: 设置上级目录为根路径 U: 设置上级目录为跟路径,但是维持原来目录打开的状态 r: 刷新光标所在的目录 R: 刷新当前根路径 I: 显示或者不显示隐藏文件 f: 打开和关闭文件过滤器 q: 关闭

    19330

    Wijmo 更优美的jQuery UI部件集:服务器端Grid魔法

    在之前的一篇文章,我们讨论了如何添加一大堆的超赞的功能到一个标准的HTML表,并把它转换成一个“grid”表格。今天我想要做的事情是向你展示如何将这些功能转到服务器。...它速度快,容易设置,同时可以给我的例子提供很好的数据。我在例子中使用到了ASP.NET MVC3,并且我们只实现排序和过滤。...using表达式开始,我们使用Entity Framework打开一个到我们数据库的链接。我们使用延迟加载的想法对创建结构化查询,因此和SQL服务器的交互只有一次。...WijmoGridResult { public List Items { get; set; } public int TotalRowCount { get; set; } } 客户端 现在服务器端已经配置好了...这里dynamic关键字告诉Wijmo,服务器会接受排序,过滤以及分页请求。如果它被设置为false或者从来都没有设置过,Wijmo不会发送我们之前提到的请求参数。

    95460

    【初学者指南】在ASP.NET MVC 5创建GridView

    介绍 在这篇文章,我们将会学习如何在 ASP.NET MVC 创建一个 gridview,就像 ASP.NET Web 表单的 gridview 一样。...服务器端和客户端有许多可用的第三方库,这些库能够提供所有必需的功能,如 Web 表格的搜索、排序和分页等。是否包含这些功能,取决于应用的特殊需求,例如在客户端和服务器端提供搜索或其它功能的需求等。...可用的库 以下是一些可用的库和插件: Grid.Mvc MVCGrid.NET PagedList.MVC JQuery.Grid JQuery Grid for ASP.NET MVC JQuery...对话框跳转到 Web,选择 ASP.NET Web 应用程序项目,然后单击确定。 ? 在模板中选择 MVC,如果编写了应用的单元测试,请先做检查,并点击 OK。 我们的工程都是用基本的功能创建的。...在下一篇文章,我们将会学习到如何通过使用服务器端分页、排序和过滤来使页面呈现的更好。对于具有大量的数据时,这是一个更好的方法。

    6.2K90

    将文件系统作为数据库的体验如何

    CSV with ag-grid & chart.js 功能概述 基于web的表格处理/图形渲染系统, 支持csv文件的导入导出, ag-grid的本地scrud, 以及chart.js框架的图表统计...前后端模块一览 ag-grid(enterprise): 不用说了, 所见过最强大, 最良心, 文档最完善的网格框架 chart.js: 一种轻量级的统计图框架, 支持八种图表 CryptoJS: js...加密库, 主要用于用户pwd的sha1加密, 客户端调用, 不知道怎么在node端共用 fontawesome_pro: 官网扒下来的pro版本(5.3?)...经典的express session框架(支持三种存储(内存, 文件, 数据库(各种数据库))) session-file-store: 用于express-session的文件存储(千万别存在内存)...则将自身作为唯一的曲线 主菜单一览 import: 将本地csv文件导入到浏览器中进行计算和渲染 upload: 上传本地csv文件备份到服务器的文件系统 server: 打开服务器文件系统 export: 将浏览器编辑后的新表格导出为

    3K20
    领券