数据透视表控件DHTMLX Pivot v2.1发布,新增HTML 模板、增强样式等多个功能
DHTMLX Pivot数据透视表能快速地对数据进行计数、总计、平均和执行许多其他操作。近日,DHTMLX Pivot发布了2.1版本,该版本扩展了开发人员通过新增的 CSS 样式选项、HTML 模板以及数字和日期的自定义格式修改表格外观的能力。此外,该版本还增加了冻结右侧列的功能、扩展了导出到 Excel 和 CSV 的设置,并进行了一些细微的改进。此外,我们的团队还准备了集成演示,让您更轻松地将我们的JavaScript 数据透视表与 React、Angular、Vue 和 Svelte 结合使用。
立即获取DHTMLX Pivot 2.1正式版
以下是DHTMLX Pivot 2.1 新功能的详细概述:
数字和日期字段的灵活格式
在将数据透视表集成到高度重视国际业务的 Web 应用程序中时,务必牢记不同国家/地区在数字和日期格式方面存在的差异。忽视这一点可能会导致数据误解,或给全球团队带来糟糕的用户体验。
借助 DHTMLX Pivot 中新增的语言环境相关格式支持,您可以确保日期和数字字段将根据应用当前的语言环境自动调整。您可以通过在本例中切换语言环境来测试其工作方式,并关注“利润”和“日期”列的格式变化。
可以在语言环境级别更改日期和数字格式,但如果需要,您还可以使用fields属性的格式参数将自定义格式应用于特定的日期和数字字段:
- 自定义数字格式
格式参数允许指定分数位数和整数位数以及数值之前(前缀)和之后(后缀)的符号:
fields:[{ id: "marketing", label: "Marketing", type:"number", formats:{prefix: "$", minimumFractionDigits: 2, maximumFractionDigits: 2 }} ]
默认情况下,数值的小数部分显示限制为3位,整数部分采用组分隔。
- 自定义日期格式
默认日期格式(“%d.%m.%Y”)通过当前语言环境的dateFormat参数设置,但您可以通过fields属性的format参数重新定义它:
fields:[{id:"date", label:"Date", type:"date", format:"%M %d, %Y" } ]
当不需要对特定字段进行格式化时,可以通过将格式参数的值更改为false来禁用它。
单元格和标题的新样式选项
样式设置或许并非直接决定数据透视表在数据分析中的效率,但它无疑会影响此类工具的易用性。DHTMLX Pivot 2.1 提供了一些样式设置新功能,让这一过程更加便捷。
tableShape属性新增的cellStyle参数,让您可以完全控制单个表格单元格的视觉外观。它返回一个字符串,作为 CSS 类名,用于向单元格添加自定义样式。
const widget = new pivot.Pivot("#pivot", {tableShape: {totalColumn: true,totalRow:true,cellStyle: (field, value, area, method, isTotal) => {if (field === "status" && area === "rows" && value) {if (value === "Down") {return "status-down";} else if (value === "Up") {return "status-up";} else if (value === "Idle") {return "status-idle";}}} }, ...
因此,您可以根据字段名称、单元格值、单元格所属的表部分甚至聚合操作动态地为单元格分配自定义样式。
类似地,您可以通过headerShape属性的cellStyle参数修改标题的外观:
headerShape:{cellStyle:(field, value, area, method, isTotal) => {if(field == "streaming")return value ==="no"?"status-down":"status-up";} }
v2.1 中新增的另一项样式改进与数字的对齐方式有关。从现在开始,单元格中的数字将默认右对齐(标题和树形模式除外)。如果需要,您可以使用wx-number CSS 类更改对齐设置:
<style>.wx-number {justify-content: start;} </style>
这些样式增强功能将使您的数据透视表更具可读性和信息性,这对于仪表板、财务报告和任何数据驱动的应用程序至关重要。
数据透视表单元格的自定义 HTML 模板
延续 v2.1 中一系列视觉增强功能,我们也很高兴地推出了一种使用模板在标题和正文单元格中应用自定义 HTML 内容的新方法。之前,您可以通过headerShape和tableShape属性中相应的 template 参数添加模板。现在,您可以使用新的pivot.template助手,超越纯文本,用多样化的内容丰富您的 JS 数据透视表。
在上面的数据透视表中,您可以看到几个在单元格中集成 HTML 模板的生动示例。为了清晰起见,以下是如何根据字段(id、user_score)添加旗帜和星形图标的方法:
function cellTemplate(value, method, row, column) {const field = column.fields ? column.fields[row.$level] : column.field;if (field == "id")return idTemplate(value);if (field == "user_score")return scoreTemplate(value);else return value; }
应该在表格渲染之前应用pivot.template辅助函数。为此,需要使用api.intercept()方法拦截render-table事件:
widget.api.intercept("render-table", ({ config: tableConfig }) => {tableConfig.columns = tableConfig.columns.map((c) => {if (c.area == "rows") {c.cell = pivot.template(({value, method, row, column}) => cellTemplate(value, method, row, column)) ...return c;}); });
使用 HTML 模板,您可以根据需要定制数据透视表中的数据呈现,从而提高应用程序的可用性和视觉吸引力。
冻结右侧列
在 v2.1 中,我们的开发团队还添加了冻结数据透视表最右侧列(总计或汇总字段)的选项。虽然左侧列的冻结功能自 v2.0 起就已可用,但新增的“右侧”选项扩展了此功能,从而实现更高效的数据分析和决策。此功能让您在水平滚动浏览大型数据集时,始终能够在表格两侧清晰地查看关键数据。
查看示例 >您可以通过编程方式在tableShape属性的split
参数 中启用新选项。只需将right属性的值设置为true即可,如以下代码示例所示:
const widget = new pivot.Pivot("#pivot", {fields,data: dataset,tableShape:{split: {right: true},totalColumn: true,}, ...//other settings });
要冻结右侧任意数量的列,您需要拦截render-table事件并在tableConfig对象的split设置中定义right属性:
widget.api.on("render-table", ({ config: tableConfig }) => {const { config } = widget.api.getState();tableConfig.split = {right: config.values.length,} })
总体而言,冻结数据透视表列的能力可确保更好地控制数据呈现并简化大型数据集的分析。
扩展导出设置至 Excel 和 CSV 格式
数据导出是 Pivot 组件的另一项功能,在 v2.1 中新增了配置选项。现在,您可以导出更有意义的 Excel (XLSX) 和 CSV 格式的数据,以满足不同用户的特定需求。无论您是想添加文件名、导出不带页眉或页脚的数据、指定导出数据透视表元素的样式,还是排除任何样式,现在都可以使用导出事件的选项对象中提供的新导出参数来实现。在应用新的导出参数之前,需要使用getTable()方法访问 Table 小部件 API 来触发导出操作。
以下是扩展导出设置至 Excel 格式的示例:
... table.exec("export", {options: {format: "xlsx",fileName: "results", // a name of file, "data" by defaultheader: false, // export header or not, true by defaultfooter: false, // export footer or not, true by default} }); ...
此外,我们还必须提及一些与使用指定格式和模板将数据导出到 Excel 相关的增强功能:
- 日期和数字字段以默认格式或指定的自定义格式导出为原始值。
- 如果字段指定了模板,导出时将使用该模板的渲染值,而不是原始数据。即使指定字段定义了格式,模板的优先级也高于格式。
该文档包含有关新 Pivot 导出设置到 Excel 和 CSV 的完整信息。
其他改进
除了此版本的主要功能外,我们还必须提及一些旨在提升 DHTMLX Pivot 用户体验的小新功能。首先,它增强了键盘导航功能,并添加了可视化指示器。
另一个有用的补充是能够通过外部输入过滤数据,如下例所示。
以上就是 2.1 版本新功能的概述。
相关文章:
数据透视表控件DHTMLX Pivot v2.1发布,新增HTML 模板、增强样式等多个功能
DHTMLX Pivot数据透视表能快速地对数据进行计数、总计、平均和执行许多其他操作。近日,DHTMLX Pivot发布了2.1版本,该版本扩展了开发人员通过新增的 CSS 样式选项、HTML 模板以及数字和日期的自定义格式修改表格外观的能力。此外,该版本还增加…...
简易的考试系统设计(Web实验)
简易的考试系统设计(Web实验) 1.实验内容与设计思想(一)实验需求(二)设计思路 2.代码展示3.实验小结 1.实验内容与设计思想 (一)实验需求 1.编写两个页面程序,一个HTML…...
C++之set和map的运用
目录 序列式容器和关联式容器 熟识set 在STL中的底层结构: set的构造和迭代器 set的增删查 multiset和set的差异 练习题: 熟识map map类的介绍 pair类型介绍 map的构造 map的增删查 map的数据修改 测试样例: multimap和map的差…...
基于智能家居项目 RGB彩灯(P9813)
一、P9813 是什么? P9813 是一颗专门用来控制 RGB LED灯珠 的芯片,也就是说,它能控制红色、绿色、蓝色三种灯光的亮度,从而调出各种颜色。它最常见的用途就是在各种“会变色”的灯带中。 它的通信方式非常简单,只需要…...
EMQX 作为 MQTT Broker,支持 MQTT over TCP 和 MQTT over WebSocket 两种协议
1. EMQX 支持的协议与端口 协议类型默认端口用途说明MQTT over TCP1883标准的 MQTT 协议,基于 TCP 传输(用于后端服务、物联网设备等)。MQTT over TLS8883加密的 MQTT over TCP(TLS/SSL 加密,安全性更高&am…...
软件测试学习笔记
第1章 绪论 软件测试 本质上说,就是寻找软件的缺陷、错误,对其质量度量的方法与过程。软件测试的一切活动都围绕着两个目标(验证是否符合需求,识别差异)而行进。它是测试思维、策略方针、设计实施的基本出发点。 学…...
Vue3 + Node.js 实现客服实时聊天系统(WebSocket + Socket.IO 详解)
Node.js 实现客服实时聊天系统(WebSocket Socket.IO 详解) 一、为什么选择 WebSocket? 想象一下淘宝客服的聊天窗口:你发消息,客服立刻就能看到并回复。这种即时通讯效果是如何实现的呢?我们使用 Vue3 作…...
python 上海新闻爬虫
1. 起因, 目的: 继续做新闻爬虫。我之前写过。此文先记录2个新闻来源。后面打算进行过滤,比如只选出某一个类型新闻。 2. 先看效果 过滤出某种类型的新闻,然后生成 html 页面,而且,自动打开这个页面。 比如科技犯罪…...
【Axure高保真原型】中继器表格批量上传数据
今天和大家分享中继器表格批量上传数据的原型模板,效果包括: 点击上传按钮,可以真实的打开本地文件夹选择文件; 选择的文件如果不是表格格式(xls、xlsx、xlt、csv),就会显示提示弹窗࿱…...
复刻低成本机械臂 SO-ARM100 单关节控制(附代码)
视频讲解: 复刻低成本机械臂 SO-ARM100 单关节控制(附代码) 代码仓库:GitHub - LitchiCheng/SO-ARM100: Some Test code on SO-ARM100 昨天用bambot的web的方式调试了整个机械臂,对于后面的仿真的sim2real来说&#x…...
视频编解码学习7之视频编码简介
视频编码技术发展历程与主流编码标准详解 视频编码技术是现代数字媒体领域的核心技术之一,它通过高效的压缩算法大幅减少了视频数据的体积,使得视频的存储、传输和播放变得更加高效和经济。从早期的H.261标准到最新的AV1和H.266/VVC,视频编码…...
【NextPilot日志移植】整体功能概要
整体日志系统的实现功能 该日志系统主要实现了飞行日志的记录功能,支持多种日志记录模式,可将日志存储到文件或通过 MAVLink 协议传输,同时具备日志加密、空间管理、事件记录等功能。具体如下: 日志记录模式:支持按武…...
Windows系统下使用Kafka和Zookeeper,Python运行kafka(二)
1.配置 Zookeeper 进入解压后的 Zookeeper 目录(例如 F:\zookeeper\conf),复制 zoo_sample.cfg 文件并命名为 zoo.cfg(如果 zoo.cfg 已经存在,则直接编辑该文件)。 打开 zoo.cfg 文件,配置相关…...
《构建社交应用用户激励引擎:React Native与Flutter实战解析》
React Native凭借其与JavaScript和React的紧密联系,为开发者提供了一个熟悉且灵活的开发环境。在构建用户等级体系时,它能够充分利用现有的前端开发知识和工具。通过将用户在社交应用中的各种行为进行量化,比如发布动态的数量、点赞评论的次数…...
Oracle OCP认证考试考点详解083系列13
题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 61. 第61题: 题目 解析及答案: 关于基于RPM的Oracle数据库安装,以下哪两项是正确的? A) …...
【AI】DeepWiki 页面转换成 Markdown 保存 - Chrome 扩展
GitHub: https://github.com/zxmfke/deepwiki-md-chrome-extension 背景 个人比较喜欢整理项目架构,更多都是保存成 markdown 的格式保存,然后发博客。deepwiki 刚好把 github 仓库代码的架构输出出来了,不过没有办法下载成 markdown 格式&…...
HTTP 状态码是服务器对客户端请求的响应标识,用于表示请求的处理结果
以下是完整的 HTTP 状态码分类和常见状态码详解: 一、状态码分类(5大类) 分类范围描述常见场景1xx100-199信息性响应请求已被接收,继续处理2xx200-299成功响应请求成功处理3xx300-399重定向响应需要进一步操作4xx400-499客户端错…...
【AI论文】FlexiAct:在异构场景中实现灵活的动作控制
摘要:动作定制涉及生成视频,其中主体执行由输入控制信号指示的动作。 当前的方法使用姿势引导或全局运动定制,但受到空间结构(如布局、骨架和视点一致性)严格约束的限制,降低了在不同主题和场景下的适应性。…...
ubuntu24.04安装anaconda
1. ubuntu安装ananconda 进入官网:添加链接描述 直接点击Download下载,它会自动匹配合适的版本 打开保存下载文件,点击右键,选择在终端打开,输入 bash Anaconda3-2024.10-1-Linux-x86_64.sh不断点击Enter,…...
六、Hadoop初始化与启动
成功部署一个Hadoop集群并不仅仅是安装好软件那么简单。在它真正能够为我们处理海量数据之前,还需要一系列精心的初始化和启动步骤。这些步骤确保了各个组件能够正确协同工作。完成启动后,Hadoop还提供了便捷的 Web 用户界面 (Web UI),帮助我…...
边缘网关(边缘计算)
边缘网关是边缘计算架构中的关键组件,充当连接终端设备(如传感器、IoT设备)与云端或核心网络的桥梁。它在数据源头附近进行实时处理、分析和过滤,显著提升效率并降低延迟。 核心功能 协议转换 ○ 支持多种通信协议(如…...
学成在线之课程管理
一:业务概述 我负责的课程管理这一块,可以发布课程,可以对课程列表进行一个管理,发布课程这分为三步:首先是需要进行填写课程相关的信息,再设计这个课程的大纲,最后是选择发布这门课程ÿ…...
python里面的class,类,方法,函数,def
一、ds 好的!我将用专业术语结合通俗解释来梳理这些概念,并用结构化方式呈现它们的关系: 1. 核心概念解析 类 (Class) 定义:类是面向对象编程(OOP)中的核心概念,是创建对象的模板(蓝图)。它封装了一组属性(数据)和方法(行为),用于描述具有相同特征和功能的对象…...
复盘20250508
根据行业趋势、政策支持、公司基本面及技术壁垒,我推荐以下两支最可能持续上涨的个股,并深度分析原因: 1. 奥普光电(机器视觉光刻机芯片) 核心逻辑: 光刻机国产化核心标的:控股股东长春光机所…...
数据结构 - 10( B- 树 B+ 树 B* 树 4000 字详解 )
一:B- 树 1.1 B- 树的引入 在使用二叉搜索树对数据进行排序时,存在一个缺陷:随着数据量的增大,二叉搜索树的高度也会随之增加。虽然在数据量较小时,这种情况并不明显,但当数据量变得庞大时,树…...
算法与数据结构 - 常用图算法总结
在图论中,图算法非常重要,广泛应用于计算机科学、网络分析、社交网络、地理信息系统等领域。下面是一些常用的图算法,按不同功能和应用场景分类: 1. 图的遍历 图遍历算法用于遍历图中的节点和边。主要有两种常见的图遍历方法&am…...
涨薪技术|0到1学会性能测试第53课-Tomcat配置
前面的推文我们掌握了Tomcat服务器的3种监控技术知识。今天给大家分享Tomcat调优技术。后续文章都会系统分享干货,带大家从0到1学会性能测试。 01Tomcat配置 当Tomcat服务器安装好并开始运行后,需要对服务器进行一些基本配置,通常关于Tomcat服务器的配置包括两部分: 第一:…...
亚马逊推出新型仓储机器人 Vulcan:具备“触觉”但不会取代人类工人
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
后退n帧协议
滑动窗口机制(Sliding Window) 发送方有一个发送窗口,最多可以连续发送 N 个未确认的帧(N 就是窗口大小)。 接收方通常只有一个接收窗口,只接收按序到达的帧,不接受乱序帧。 累计确认机制&…...
R9周:RNN实现阿尔茨海默病诊断
🍨 本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 一、导入数据 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import torch import torch.nn as nn f…...
node.js 实战——在express 中将input file 美化,并完成裁剪、上传进度条
美化上传按钮 在ejs 页面 <!DOCTYPE html> <html> <head><meta charset"utf-8"></meta><title><% title %></title><link relstylesheet href/stylesheets/form.css/><!-- 本地 Bootstrap 引入方式 -->…...
Linux环境下部署MaxScale
测试环境:两台服务器,Mysql版本 8.0,linux版本:Ubuntu 20.04.3; 介绍 在我之前的文章里面有介绍MySql主从服务器的配置,我们项目通常使用.NET开发Server端,如果是代码直接去管理主从服务器的访…...
新能源汽车CAN通信深度解析:MCU、VCU、ECU协同工作原理
1. 什么是CAN通信? CAN(Controller Area Network,控制器局域网) 是一种广泛应用于汽车电子系统的串行通信协议,由德国Bosch公司在1980年代开发,主要用于实现车内电子控制单元(ECU)之…...
按句子切分文本、保留 token 对齐信息、**适配 tokenizer(如 BERT)**这种需求
在之前的文章中我解释了 把长文本切分成一句一句的小段(chunk),每一段尽量是一个完整的句子,而不是强行按字数截断。 但是这个方法自己写会比较复杂,有很多处理这种场景的工具可以直接拿来用。 下面就 处理按句子切分…...
缓存(1):三级缓存
三级缓存是指什么 我们常说的三级缓存如下: CPU三级缓存Spring三级缓存应用架构(JVM、分布式缓存、db)三级缓存 CPU 基本概念 CPU 的访问速度每 18 个月就会翻 倍,相当于每年增⻓ 60% 左右,内存的速度当然也会不断…...
Kubernetes client-go 客户端类型与初始化指南
Kubernetes client-go 客户端类型与初始化指南 在 Kubernetes 的 client-go 库中,存在多种客户端用于与 API 服务器交互。以下介绍主要客户端类型,包括用途、初始化方式及 Demo。 1. RESTClient 用途 RESTClient 是底层 REST 客户端,直接…...
【金仓数据库征文】金仓数据库:创新驱动,引领数据库行业新未来
一、引言 在数字化转型的时代洪流中,数据已跃升为企业的核心资产,宛如企业运营与发展的 “数字命脉”。从企业日常运营的精细化管理,到战略决策的高瞻远瞩制定;从客户关系管理的深度耕耘,到供应链优化的全面协同&…...
图漾相机——Sample_V2示例程序(待补充)
文章目录 1.SDK支持的平台类型1.1 Windows 平台1.2 Linux平台 2.Sample_V2编译流程2.1 Windows环境2.2 Linux环境编译 3.Sample_V2示例程序测试3.1 ListDevice_v23.2 DepthStream_v23.3 ExposureTimeSetting_v23.4 ForceDeviceIP_v23.5 GetCalibData_v23.6 NetStatistic_v23.7 …...
手写 vue 源码 ===:自定义调度器、递归调用规避与深度代理
目录 引言 自定义调度器(Scheduler) 什么是调度器? 调度器的实现原理 自定义调度器的实际应用 切面编程(AOP)思想在调度器中的应用 递归调用规避 递归调用的问题 Vue 如何规避递归调用 深度代理(D…...
WPF实时调试的一种实现方法
在WPF程序中,如果我们需要对程序进行调试,一般是使用断点/单步或输出日志之类的调试方法。 如果我们需要实时查看程序输出,可以将程序的输出类型修改为控制台应用程序 这样我们在程序运行后,就可以得到一个控制台窗口。 然后再配…...
数据库操作
本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接…...
学习笔记:数据库——事务
1.内容: 基于现有数据库设计检查点实验,观察比较提交前后执行结果并分析。 2.实现 源码 -- 开启事务 START TRANSACTION;-- 插入一条订单记录(客户ID为10002) INSERT INTO orders (o_date, c_id) VALUES (NOW(), 10002);-- 获…...
企业级可观测性实现:OpenObserve云原生平台的本地化部署与远程访问解析
文章目录 前言1. 安装Docker2. 创建并启动OpenObserve容器3. 本地访问测试4. 公网访问本地部署的OpenObserve4.1 内网穿透工具安装4.2 创建公网地址 5. 配置固定公网地址 前言 嘿,各位小伙伴们,今天要给大家揭秘一个在云原生领域里横扫千军的秘密法宝—…...
【Linux系统】第三节—权限
Hello,好久不见—— 云边有个稻草人-CSDN个人博客主页 Linux-本节文章所属专栏-欢迎订阅-持续更新中~~~ 目录 hi!在这里—本节课重要知识点详解 一、Shell命令以及运行原理 二、Linux权限 2.1 Linux权限的概念 2.2 Linux权限管理 2.3 ⽂件权限值的…...
@Data和 @NoArgsConstructor注解详解
Data 和 NoArgsConstructor 注解详解 1. Data 注解 作用:Data 是 Lombok 提供的一个复合注解,用于自动生成 Java 类的常用方法,减少样板代码。生成的内容: Getter 和 Setter:为所有非静态、非 final 字段生成 getter…...
《云计算》第三版总结
《云计算》第三版总结 云计算体系结构 云计算成本优势 开源云计算架构Hadoop2.0 Hadoop体系架构 Hadoop访问接口Hadoop编程接口 Hadoop大家族 分布式组件概述ZooKeeperHbasePigHiveOozieFlumeMahout 虚拟化技术 服务器虚拟化存储虚拟化网络虚拟化桌面虚拟化OpenStack开源虚…...
滚珠导轨:电子制造领域精密运动的核心支撑
电子制造正朝着高精度、高效率方向飞速发展,滚珠导轨在这一进程中扮演着重要角色。滚珠导轨在电子制造领域中具有广泛且重要的应用,主要体现在以下几个方面: 1、印刷电路板(PCB)制造设备:滚珠导轨在PCB制造…...
Spark缓存--cache方法
在Spark 中,cache() 是用于优化计算性能的核心方法之一,但它有许多细节需要深入理解。以下是关于 cache() 的详细技术解析: 1. cache() 的本质 简化的 persist():cache() 是 persist(StorageLevel.MEMORY_ONLY) 的快捷方式&#x…...
kafka logs storage
Kafka 会将日志文件按段(Segment)存储。 Segment是Kafka的最小存储单元,它是一个可追加的文件,用于存储Kafka分区中的一部分消息。 在文件系统中,Partition 是目录名,而Segment 是文件名。 Segment可以通过…...
数据分析平台选型与最佳实践:如何打造高效、灵活的数据生态?
数据分析平台选型与最佳实践:如何打造高效、灵活的数据生态? 在大数据时代,数据分析平台已经成为企业决策的核心支撑。从传统 BI(商业智能)到现代 AI 驱动的数据分析,选择合适的平台不仅影响数据处理效率,也决定了企业的数字化竞争力。面对市场上的众多解决方案(如 Ap…...