DHTMLX Suite 9.2 重磅发布:支持历史记录、类Excel交互、剪贴板、拖放增强等多项升级

全球知名的 JavaScript UI 组件库 DHTMLX Suite 迎来 9.2 新版本!此次更新虽为次版本号,却实质性提升了 Grid 网格组件的交互能力与用户体验,引入了包括历史记录管理、剪贴板操作、数据选择范围管理、Block 区块选择等多项高级模块,支持更接近电子表格的使用体验。

新版 Grid 组件不仅在数据可视化、数据编辑方面功能更强,还增强了与主流前端框架(如 React、Vue、Angular)的集成示例,并支持将数据导出为 Excel。Suite 9.2 的更新,进一步提升了 DHTMLX 在构建现代数据密集型 Web 应用中的实用性。

DHTMLX Suite 官方正版试用下载

核心更新亮点一览:

✅ 历史记录模块(PRO 专业版)

新增的“History”模块允许自动追踪用户在 UI 中的操作,包括单元格编辑、结构变动、内容清除等,记录操作轨迹,支持【撤销/重做】功能。通过以下配置即可启用历史记录:

const grid = new dhx.Grid("grid", {columns,data,clipboard: true,history: {limit: 10,// Limits the history to 10 actions},editable: true,autoWidth: true,autoHeight: true
});

历史模块提供了丰富的 API 方法和事件,如undo() / redo()操作,配合beforeUndo / afterUndo等事件实现灵活控制,特别适合协作式数据编辑场景。

✅ 范围选择模块 RangeSelection(PRO 专业版)

RangeSelection 模块支持对网格中多个单元格进行区域性选取,是多项新功能的基础。可以通过setRange()设置选择区域,或用resetRange()清除已选范围,支持是否合并已有范围、检测选区状态、判断单元格是否处于选区等操作。

grid.range.setRange({ xStart: "a", yStart: "1" }); // 选择起始单元格
grid.range.resetRange(); // 清除选择

✅ BlockSelection 区块选择模块(PRO 专业版)

全新 BlockSelection 模块引入与 Excel、Google Sheets 类似的交互体验,用户可通过鼠标拖动、Shift+点击或键盘组合快捷操作选取相邻单元格区域,支持“选择手柄”功能,可将所选单元格值批量填充。

blockSelection: {mode: "range",handle: true // 启用右下角拖动填充
}

BlockSelection - 单元格选择

支持自定义选择逻辑、样式覆盖、CSS 个性化配置等。无论是可视化编辑还是数据填充,该模块都极大增强了数据表格的交互体验。

✅ 剪贴板模块 Clipboard(PRO 专业版)

剪贴板模块使 Grid 实现类似 Excel 的“复制/剪切/粘贴”功能,支持表格内部及多个 Grid 实例之间的数据交互,兼容 Excel / Google Sheets 的剪贴板操作。

默认启用方式如下:

clipboard: true // 简单布尔值开启剪贴板功能

如果您需要精细化控制剪贴板数据格式(如数字、货币、下拉框等字段),可通过copyModifier / cutModifier / pasteModifier等格式化函数对传输数据进行加工处理,确保与外部系统或其它网格表的数据结构兼容。

例如:

copyModifier: (value, cell) => {if (cell.column.editorType === "combobox") {const option = cell.column.options.find(opt => opt.id === value);return option ? option.value : value;}return value;
}

其他功能更新:

  • ✅ 拖放交互全面增强,支持更多拖拽场景

  • ✅ Grid 数据导出 Excel 新方案,提升数据导出兼容性

  • ✅ 更新 React / Vue / Angular 集成示例

  • ✅ 性能优化和 Bug 修复


总结

DHTMLX Suite 9.2 提供了堪比主流电子表格工具的交互能力,尤其在数据密集型 Web 应用、企业级后台管理系统、在线数据编辑工具等场景中,显著提升了前端表格组件的可用性和开发效率。当前版本中所有新增模块均可在 PRO 专业版中体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89237.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解Java中的Map.Entry接口

文章目录深入理解Java中的Map.Entry接口1. 接口定义2. 核心方法解析2.1 基本方法2.2 Java 8新增的静态方法3. 基本使用示例3.1 遍历Map的条目3.2 修改Map中的值3.3 使用比较器排序4. Java 8/9增强特性4.1 与Stream API结合4.2 Java 9的equals和hashCode默认方法5. 实际应用场景…

AI培训学习2

不要打扰用户的习惯,比如APP右下角的我的,放到第一个就不合适 先抄再超 lifeTime value NPS: 评价 Product market 平衡 ARPU: LT活跃时长 游戏中好友的重要性 不花钱存活率很少 如何花钱,1分钱买东西 联影医疗 figma uizard…

npm 安装时候怎么指定某一个子包的版本 overrides

有时候用 npm install 安装的时候会报错,比如 express 包依赖 "escape-html": "^1.0.2" 版本的包,但是因为 escape-html" 升级到 1.0.3 版本了,但是这个版本有问题,导致express 下载不下来。怎么固定下载…

python学智能算法(十九)|SVM基础概念-超平面

引言 前序学习进程中,对向量相关的基本知识进行了学习,链接为: 向量的值和方向 向量点积 在实际的支持向量机算法使用中,最核心的目标是找出可以实现分类的超平面,超平面就是分割的点、线或者面,不要在这个…

python 基于 httpx 的流式请求

文章目录1. 环境介绍2. 同步客户端2.1. 面向过程2.1.1. 流式输出2.1.2. 非流式输出2.2. 面向对象3. 异步客户端3.1. 面向过程3.2. 面向对象3.3. Attempted to call a sync iterator on an async stream.参考:https://www.jb51.net/article/262636.htm次要参考&#…

Python 数据建模与分析项目实战预备 Day 4 - EDA(探索性数据分析)与可视化

✅ 今日目标 使用 Pandas Matplotlib/Seaborn 对简历数据进行探索性分析分析不同字段与目标变量的相关性通过可视化呈现简历筛选的潜在规律🧾 一、建议分析内容 🔹 分类字段分析字段图表建议说明degree柱状图(分组通过率)分析学历…

力扣每日一题--2025.7.17

📚 力扣每日一题–2025.7.17 📚 3202. 找出有效子序列的最大长度 II(中等) 今天我们要解决的是力扣上的第 3202 题——找出有效子序列的最大长度 II。这道题是昨天 3201 题的扩展,需要我们处理更一般化的情况。 ⚠️…

github不能访问怎么办

访问:“github.com”国内多个地点网站测速结果_网站测速 - 站长工具访问“github.global.ssl.fastly.net”国内多个地点网站测速结果_网站测速 - 站长工具复制红框中的ip 打开“C:\Windows\System32\drivers\etc\hosts”文件输入: 20.205.243.166 githu…

【深度学习新浪潮】AI在finTech领域有哪些值得关注的进展?

近年来,AI在金融科技(FinTech)领域的应用呈现爆发式增长,尤其在大模型技术突破和政策支持的双重驱动下,多个关键领域取得了显著进展。以下是值得关注的核心方向及具体案例: 一、大模型技术重塑金融服务范式 以DeepSeek为代表的国产大模型通过开源和低成本部署(本地化成…

【中等】题解力扣22:括号生成

题目详情 数字 n 代表生成括号的对数,设计一个函数生成所有可能的并且有效的括号组合。 示例 1: 输入:n 3 输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2: 输入:n 1 输出&#…

【JEECG 组件扩展】JSwitch开关组件扩展单个多选框样式

功能说明:基于JeecgBoot开源框架,JSwitch开关组件扩展,支持单个多选样式。效果展示:使用示例:{field: JSwitch,component: JSwitch,label: JSwitch,},{field: JSwitchCheckBox,component: JSwitch,label: JSwitchCheck…

(转)Kubernetes基础介绍

Kubernetes是用于自动部署、扩展和管理容器化应用程序的开源系统。

vue 播放海康m3u8视频流笔记

1、安装hls.jsnpm i hls 2、使用<el-dialogtitle"监控"top"5vh":visible.sync"dialogVisible"width"30%"><video id"video" style"width:100%;height:300px" controls><sourcetype"applicati…

如何清除 npm 缓存

清除 npm 缓存&#xff1a;利弊分析与操作指南 在使用 Node.js 和 npm 进行项目开发时&#xff0c;我们经常会与 npm install 命令打交道。这个过程中&#xff0c;npm 会在本地建立一个缓存机制&#xff0c;用以存储已下载的包&#xff0c;从而显著提升后续安装的速度。然而&am…

Java学习-----消息队列

消息队列是分布式系统中重要的组件之一。使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。使用消息队列主要有三点好处&#xff1a;&#xff08;1&#xff09;通过异步处理提高系统性能&#xff08;减少响应所需时间&#xff09;&#xff1a;用户提交请…

玩转Docker | 使用Docker部署TeamMapper思维导图应用程序

玩转Docker | 使用Docker部署TeamMapper思维导图应用程序 前言 一、TeamMapper介绍 TeamMapper简介 TeamMapper功能 二、系统要求 环境要求 环境检查 Docker版本检查 检查操作系统版本 三、部署TeamMapper服务 下载TeamMapper镜像 编辑部署文件 创建容器 检查容器状态 检查服务…

深入解析Linux进程创建与fork机制

目录 一、fork函数初识 二、fork函数返回值 思考&#xff1a; 1. fork函数为何给子进程返回0&#xff0c;而给父进程返回子进程的PID&#xff1f; 2. 关于fork函数为何有两个返回值这个问题 三、写时复制机制 写时拷贝&#xff08;Copy-On-Write&#xff09;机制解析 1.…

【软件开发】主流 AI 编码插件

主流 AI 编码插件1. GitHub Copilot 支持平台&#xff1a;VS Code、Neovim、JetBrains 系列、Visual Studio 优点 深度语料库&#xff1a;基于 OpenAI 的大规模模型训练&#xff0c;能够生成高质量、上下文相关的代码补全。多语言支持&#xff1a;对 Python、JavaScript、TypeS…

实训十一——网络通信原理

补充如何解决IPv4地址不足的问题&#xff1f;使用专用的IPv4地址范围&#xff08;如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16&#xff09;并通过NAT转换与外部网络通信&#xff0c;能有效节约公网IPv4地址。根据RFC 1918的定义&#xff0c;以下是保留的私有IPv4地址范围&am…

Spring Cloud LoadBalancer 详解

在分布式系统快速发展的当下&#xff0c;服务间的调用日益频繁且复杂。如何合理分配请求流量&#xff0c;避免单个服务节点过载&#xff0c;保障系统的稳定性与高效性&#xff0c;成为关键问题。负载均衡技术便是解决这一问题的重要手段。Spring Cloud LoadBalancer 作为 Sprin…