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

ag-grid行排序不适用于小数和空值

ag-grid是一个功能强大的JavaScript表格组件,用于展示和处理大量数据。它提供了多种功能,包括行排序、过滤、分页、列宽调整等。

在ag-grid中,默认情况下,行排序是适用于整数和字符串类型的数据的。对于小数和空值,行排序可能无法正常工作。这是因为排序是基于数值或文本的比较来进行的,而小数和空值无法直接进行比较。

为了解决这个问题,我们可以通过自定义排序规则来实现对小数和空值的排序。首先,我们需要使用ag-grid提供的valueGetter属性来获取要排序的值。然后,我们可以使用自定义比较函数对这些值进行排序。

下面是一个示例代码,演示了如何在ag-grid中对小数和空值进行排序:

代码语言:txt
复制
// 自定义比较函数
function customComparator(valueA, valueB, nodeA, nodeB, isInverted) {
  // 处理小数和空值
  if (valueA === null || valueA === undefined || valueA === "") {
    return isInverted ? -1 : 1;
  }
  if (valueB === null || valueB === undefined || valueB === "") {
    return isInverted ? 1 : -1;
  }

  // 进行数值比较
  return valueA - valueB;
}

// 在列定义中设置自定义比较函数
var columnDefs = [
  {
    headerName: "Number",
    field: "number",
    sort: "custom",
    comparator: customComparator
  }
];

// 创建ag-grid实例
var gridOptions = {
  columnDefs: columnDefs,
  // 其他配置项...
};

// 初始化ag-grid
new agGrid.Grid(document.querySelector("#myGrid"), gridOptions);

在上述示例中,我们创建了一个自定义比较函数customComparator,它首先判断要排序的值是否为小数或空值,然后进行相应的处理。对于小数和空值,我们可以根据需要指定排序顺序。然后,在列定义中的comparator属性中指定这个自定义比较函数。

除了行排序,ag-grid还提供了许多其他功能,例如列排序、多列排序、服务器端排序等。可以根据具体的需求进行使用。

腾讯云提供了云计算相关的产品和服务,如云服务器CVM、对象存储COS、云数据库MySQL、云原生容器服务TKE等。您可以根据实际需求选择适合的产品来支持您的云计算应用。您可以访问腾讯云官方网站,了解更多关于这些产品的详细信息和介绍。

参考链接:

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

相关·内容

20 多个好用的 Vue 组件库

支持对加载后的表格页面的处理:添加/删除/列,合并单元格等操作。 此外,它还适用于 React、Angular Vue。...此外,它还提供数据绑定、数据验证、过滤、排序 CRUD 操作。...特点如下: 多列排序 非连续选择 过滤数据验证数据 导出文件 有条件的格式化 合并单元格 隐藏/列 上下文菜单注释 Ag Grid Vue 地址:https://github.com/ag-grid...它有几个特性: 表搜索排序 列过滤分页 复选框表格 分组 样式 多选 Notification Vue Toastification 地址:https://github.com/Maronato...Loader Vue Wait 地址:https://github.com/f/vue-wait Vue Wait 这是一个用于 VUE、Vuex Nuxt 应用的复杂装载器进度管理组件。

7.8K10

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

同时,支持对加载后的表格页面的处理:添加/删除/列,合并单元格等操作。 此外,它还适用于React、AngularVue。...此外,它还提供数据绑定、数据验证、过滤、排序CRUD操作。...特点 多列排序 非连续选择 过滤数据验证数据 导出文件 有条件的格式化 合并单元格 隐藏/列 上下文菜单注释 Ag Grid Vue 地址:https://github.com/ag-grid/...它有几个特性: 表搜索排序 列过滤分页 复选框表格 分组 样式 多选 Vue Toastification 地址:https://github.com/Maronato/v......Vue Wait 地址:https://github.com/f/vue-wait Vue Wait 这是一个用于VUE、VuexNuxt应用的复杂装载器进度管理组件。

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

    与每个管理系统一样,我们需要选择一个网格来显示我们的数据,而我的前任已经在应用程序中使用了两个网格 -  ag-Grid(v2.7)Ng-Table(v0.8.3) - 我热情地讨厌前者。...我及时检查了源代码,发现ag-Grid有一个column定义字段,其中包含我真正需要的所有内容。这伴随着排序,过滤,固定最重要的 - 分组,聚合以及拥有所需数量的的能力。...我添加了视图,因此您可以多次在同一网格上工作,但每个网格都有不同的自定义外观,有一次我将客户端的数据库转储给用户(大约150K150个属性)创建了自定义报告生成器。...每个新页面至少有一个表,添加/编辑/删除,我只是通过布尔的开关以编程方式控制。生活很棒,我不能完全感谢这个网格。...“ 现在,对JavaScript的数据网格,尤其是AngularJS 1.x的教育经验,我只是笑着教他们关于ag-Grid

    6.2K40

    基于 Angular Material 的 Data Grid 设计实现

    这几天又重构了一下官网示例,目前的 API 文档放在了 gitbook 上,暂时还没有官网整合,国内访问会比较慢。本文会介绍 Data Grid 的使用方法及比较好的一些功能实现。...目前市面上功能最全的 Data Grid 是 ag-grid,很多组件库也有自己的 Data Grid 实现,比如 Ignite UI,Kendo UI。...目前 Extensions Data Grid 已经实现的功能如下: paging(分页,包括前端分页后端分页) sorting(排序,目前只支持单一排序) sticky columns(列的固定)...row(可展开的表格) customized cell(自定义单元格) column moving(列的移动排序) Data Formatting(数据格式化) Template(各种模板) 因文章篇幅有限...官网示例:Column hiding & moving 列的显示隐藏以及排序是非常常见的需求,这类需求曾被产品经理折磨了无数次。

    5K20

    算法渣-排序-计数排序

    没有一身好内功,招式再多都是;算法绝对是防身必备,面试时更是不可或缺;跟着算法渣一起从零学算法 线性排序 常见的三种以线性时间运行的算法:计数排序、基数排序排序 需要注意的是线性排序算法是非基于比较的排序算法...(此处并非比较各元素的大小,而是通过对元素的计数计数值的累加来确定)。...第一步,我们遍历成绩表最后一的小绿: 小绿是95分,我们找到countArray下标是5的元素,是4,代表小绿的成绩排名位置在第4位。...第二步,我们遍历成绩表倒数第二的小白: 小白是94分,我们找到countArray下标是4的元素,是2,代表小白的成绩排名位置在第2位。...时间复杂度:3N(计算最大最小数、计数、排好序的数组) + M(位置数组),去掉系数,时间复杂度是O(N+M) 空间复杂度:只考虑统计数组,那就是M 局限性 1.当数列最大最小差距过大时,并不适用计数排序

    38220

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

    CSV with ag-grid & chart.js 功能概述 基于web的表格处理/图形渲染系统, 支持csv文件的导入导出, ag-grid的本地scrud, 以及chart.js框架的图表统计...CSV规范格式 能够读取的CSV格式必须符合通用标准,比如首必须是表头,第二开始是数据,可以有跨行单元格(系统会向上寻找到存在的元素并拷贝),系统自动识别数值类型并转化,但并不识别数值列....加密库, 主要用于用户pwd的sha1加密, 客户端调用, 不知道怎么在node端共用 fontawesome_pro: 从官网扒下来的pro版本(5.3?)...body解析中间件,别没事用各种node模块,多研究研究标准库http!!...'root' 然后进入主界面, 表格功能Excel类似, 请自行探索:) 这个项目曾经用到的图片素材: ?

    3K20

    Transact-SQL基础

    所存储的长度或大小。 数值的精度(仅适用于数字数据类型)。 数值的小数位数(仅适用于数字数据类型)。 2.3.1 二进制数据 binary varbinary 数据类型存储位串。...每个 char varchar 数据都具有排序规则。排序规则定义属性,如用于表示每个字符的位模式、比较规则以及是否区分大小写或重音。每个数据库有默认排序规则。...这些是随机的,而且它们不支持任何使其对用户更有意义的模式。 也没有任何方式可以决定生成 uniqueidentifier 的顺序。它们不适用于那些依赖递增的键值的现有应用程序。...每次修改或插入包含 rowversion 列的行时,就会在 rowversion 列中插入经过增量的数据库版本。这一属性使 rowversion 列不适合作为键使用,尤其是不能作为主键使用。...2.3.14 table table 是一种特殊的数据类型,用于存储结果集以进行后续处理。主要用于临时存储一组作为表函数的结果集返回的。可将函数变量声明为 table 类型。

    3.4K20

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

    免责声明:文章源于本人闲情雅致,没有任何广告意图 我向来是不屑于使用前端框架的,最多用一些ui组件,但是ag-grid这个框架太TM好用了。...注意,统计图是aggrid今年才推出的,也是今年aggrid刚成为第一个能够同时兼并表格图表的重量级框架,而且图表颜不输echartschart.js等框架。...例如,如果您将1,000条记录20列加载到网格中,但用户只能看到50条记录10列(因为其余的未滚动到视图中),则网格仅呈现用户的5010列可以实际看到。...设计focus对象 focus对象是我常用的一种自定义对象,通常挂载在window.app上,但在aggrid这个重量级框架面前,也可以挂载在元素上面。...在我的C9X项目中focus的属性包括当前聚焦的对象:人,人的分类,技能,技能的分类,人与技能的关系(unit),聚焦的,聚焦的列。

    6K40

    mysql 知识总结

    约束主键约束:用来唯一标识一数据,不能重复,不能为。唯一约束:用来唯一标识一数据,不能重复,可以为。自增长约束:从1开始每次加1,主键配合使用。...外键约束:用来其他表建立联系的字段,是另一表的主键,可以重复可以为,可以有多个外键。非约束:不能为。默认约束:不指定时使用默认填充。...哈希,时间复杂度O(1),只支持等值查询,不支持排序范围,innodb 自动创建的内存索引。物理存储聚集索引:叶子节点包含完整一数据,类比于字典的按首字母排序组织。一个表必须有一个聚集索引。...默认使用主键,然后使用非唯一索引,都没有则生成隐藏自增列作为聚集索引。非聚集索引(辅助索引):叶子节点仅包含主键,查询非主键字段需要回表二次查询。NULL作为最小数看待,全部放在树的最左边。...需要排序的字段。需要group by 的字段。字段的离散程度大时才需要加索引,重复率高的不适合加索引。覆盖索引索引包含所有需要查询的字段,是常用的优化手段。

    15210

    SQL语言元素(一)

    它可以由数字0到9,小数点字符,指数符号以及加号减号组成。数字中只能使用一个小数点字符。该小数点只能用于数字的基数部分,不能用于指数部分。小数点后不需要数字。允许前导零尾随零。...此限制不适用于其他SQL调用,例如动态SQL。 字符串分割符 使用单引号(')字符作为字符串定界符。 SQL兼容性支持双引号字符(“)的使用,但由于与定界标识符标准冲突,因此强烈建议不要使用。...它不会将空字符串视为非。 COALESCE函数从提供的数据中选择第一个非。 它将空字符串视为非。...(COUNT *统计所有,因为不可能有一个所有字段都为的记录。) SELECT语句的DISTINCT关键字在其操作中包含NULL; 如果指定的字段有空,DISTINCT返回一个空行....AVG、COUNTMIN、聚合函数受空字符串的影响。 MIN函数将空字符串视为最小,即使存在为0的。 MAXSUM聚合函数不受空字符串的影响。

    1.4K10

    《高性能Mysql》读书笔记之Schema与数据类型优化

    实数类型 DECIMAL DECIMAL类型用于存储精确的小数 CPU不支持对DECIMAL的直接计算,CPU直接支持原生浮点计算,所以浮点运算更快 MYSQL会将数字打包到一个二进制字符串中(每4个字节存储...注意点 UPDATE比原来更长时,数据库会做额外工作CHAR会根据需要采用空格进行填充以方便比较 比较 BLOG TEXT 区别 存储二进制字符;无字符集排序规则 有字符集排序规则 相同点 MYSQL...MYSQL存储的是每个在列表中的位置,而不是实际的,实际的存在 .frm 文件中保存"数字 - 字符串"映射关系 枚举按照内部存储的整数而不是定义的字符串进行排序,所以创建枚举的时候得按顺序存放...可以在查询中使用FIELD()显示指定排序顺序,但会导致无法利用索引消除排序 尽量不要用枚举存储整数,容易导致混乱 枚举不适合未来可改变的字符串,除非能接受只在列表末尾添加元素 4....该操作会通过排序来构建所有索引,包括唯一索引 总结 避免过度设计 避免NULL 使用小而简单的适合的数据类型 尽量使用相同的数据类型存储相似或相关的,尤其是在关联条件中使用的列 注意可变长字符串,其在临表排序时可能导致最大长度分配内存

    17430

    CMU 15-445 数据库课程第四课文字版 - 存储2

    等等 浮点数类型或者小数类型:一种是基于 IEEE-754 标准定义的近似浮点,还有就是固定小数点的小数,一般有 FLOAT/REAL,以及 NUMERIC/DECIMAL 等等。...对于小数精度不确认的小数,例如不限制计算结果的数字的小数位数这种情况,由于精度是不确认的,所以很难通过一些计算机结构表示出来,例如 C/C++ 中对应的 FLOAT DOUBLE/REAL 等类型,...但是如果元组的某个大于一页大小怎么办?例如一个某个元组有个是 VARCHAR 类型,保存了很长的字符串,那么我们不会把所有数据元组其他数据放在一起,而是把它存储在溢出页中。...但是这种设计并不适用所有的场景,我们来看一个维基百科的例子: 我们有有一个 useracct 表,也就是维基百科的用户,它包含 userId userName;然后有 pages 表,存储了维基百科数据...另一种选择是存储元组的id直接嵌入到列中:一般这些列还是通过某种排序规则排序的,我们可以通过二分查找来找到对应 id 的数据。

    75410

    计数排序 的全网最详细的讲解

    那么所谓的计数排序呢,就是在桶排序的基础上加上了个前缀。...为了解决这个问题,我们不再以(输入数列的最大+1)作为统计数组的长度,而是以(数列最大最小的差+1)作为统计数组的长度。同时,数列的最小作为一个偏移量,用于统计数组的对号入座。...接下来,我们创建输出数组sortedArray,长度输入数列一致,然后从后向前遍历输入数列: 第一步,遍历成绩表最后一的小绿:小绿是95分,找到countArray下标为5的元素,是4,代表小绿的成绩排名是在第...虽然计数排序看上去很强大,但是它存在两大局限性: 1.当数列最大最小差距过大时,并不适用于计数排序 比如给定20个随机整数,范围在0到1亿之间,此时如果使用计数排序的话,就需要创建长度为1亿的数组...2.当数列元素不是整数时,并不适用于计数排序 如果数列中的元素都是小数,比如3.1415,或是0.00000001这样子,则无法创建对应的统计数组,这样显然无法进行计数排序

    72010

    如何向奶奶解释SQL与NoSQL的区别

    本文介绍SQL关系代数的起源,没有干货,请谨慎阅读。 如何向你奶奶解释SQLNoSQL 最近Medium上出现了一个面试题:如何向你奶奶解释SQLNoSQL的区别。...致敬《三体I:地球往事》刘慈欣 基于这个理论(或者说世界观),集合论被拿来研究数据库了,比如我们数学课本上的集合要求集合的元素具有互异性无序性:因为要互异,我们有了数据库的唯一性主键;因为要无序,数据库的排序就交给索引来做了...著名的前端框架ag-grid就是在这个理论上诞生的: ?...关系代数,SQL,NoSQL,线性表,统计图,表格,ag-grid这些研究的都是集合,都是列表,都是最本质,永恒不变的东西,所以才有那么多学者投入到这个永不过时的领域。...虽然这篇文章全是大而的概念,一点干货都没有,但仍然不妨碍它成为你学习关系代数SQL的入门篇章,万一哪一天我想起来了再给你们写一部不水的《关系代数导论》。(估计是等不到了) 什么?

    1.3K50

    Hive SQL 常用零碎知识

    NVL()函数NVL()函数是判断函数,为NULL的。其表达式的可以是数字型、字符型日期型。...用法一:NVL(表达式A,表达式B) -- 例:如果id为,则返回0;否则返回id的NVL(id,0)用法二:NVL2(表达式A,表达式B,表达式C)-- 例: 如果sex为,则返回1;否则返回...总结:在此概括一下ORDER BY与DISTRIBUTE BYSORT BY的区别:ORDER BY: ORDER BY子句用于对整个结果集进行全局排序。通常用于对查询结果的最终展示格式进行排序。...DISTRIBUTE BY子句用于确保具有相同特征的数据(如ownerprimary_key)发送到同一个reducer。在每个reducer上,SORT BY对数据进行排序。...这种组合方法更适合在执行聚合分组操作之前,针对每个分组实现局部排序。需要注意的是,DISTRIBUTE BYSORT BY是Hive中特定的子句,不适用于Presto或Spark SQL。

    84860

    数据分析之numpy

    ndarray9 = np.ones_like(ndarray5) # 按照 ndarray5 的shape创建数组 emptyempty_like创建数组 用于创建数组,数据中的并不为0...arr[0:2 , 1:3] print(arr[0:2 , 1:3]) 获取不连续的列 前面是 后面是列 arr2 = arr[np.ix_([0,2], [0,3])] 获取下标元素放入列表中...,不能有小数,也就是总行数/要均分的份数,能整除 vsplit(arr, n) 按均分为n份 ,返回列表 可通过下标获取 ret = np.hsplit(arr, 4) print(ret[2])...排序 axis=0 按列升序排序 axis=1 按升序排序 arr2 = np.sort(arr[[4,2,0]], axis=1) print(arr2) 怎么降序排序 # 按列降序 np.sort...):元素的平方根,参数是 number 或 ndarray sign(x):计算各元素的正负号, 1(正数)、0(零)、-1(负数),参数是 number 或 ndarray modf(x):将数组的小数整数部分以两个独立数组的形式返回

    1.3K10

    B6第六章 第 6 节: MYSQL常用数据类型

    int:4字节 bigint:8字节 小数(需要指定长度小数点,也就是显示宽度小数位数): decimal:精确存储的小数,在内部用字符串存储,适合金额等要求精确的类型。...不“允许为”的列在插入时不能省略 7、自动递增/自增(Auto Increment):字段自增可以避免并发等问题,不要程序员代码控制自增。用自增字段在Insert的时候不用指定。...2、将允许为的勾,都掉的话,对表中原来没有(null)数据的,需要先填写内容应该,这样才可以保存表 3、修改列的数据类型要注意旧数据能否兼容转换为新类型;修改数据的长度的时候也是如此。...3、Select Name+"a" FROM T_Employees 结果是八个零一个null 4、SQL中使用is null、is not null来进行判断: SELECT * FROM...比如下面的SQL语句将返回Name不为的、按照工资降序排列的从第二开始(首行行号从0开始)的最多五条记录: SELECT * FROM T_Employees where Name is not null

    85720

    MySQL查询进阶相关sql语句

    -- is null 判 -- 查询身高为的信息 select * from students where height is null; -- is not null 判非 -- 查询身高不为的信息...,如果某些字段1的相同时,则按照字段2排序,以此类推... -- select * from 表名 order by 字段1 asc | desc [, 字段2 asc | desc, ...] -...n位 round(123.23, 1) 保留1位小数 -- 计算所有学生的平均年龄,保留2位小数 select round(sum(age) / count(*), 2) from students...一样, 但having只能用于group by, 且放在group by之后 -- 查询平均年龄超过30岁的分组, 显示其性别该性别中所有名字 select gender, group_concat(...: 子查询返回的结果是一(一多列) -- 查找班级年龄最大,身高最高的学生 (先查询最大的年龄最高的身高, 返回的是一两列: 身高, 年龄) select * from

    3.8K20
    领券