找回密码
 立即注册

QQ登录

只需一步,快速开始

Derrick.Jiao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-5-9 16:30  /   查看:2128  /  回复:0
在单元格中,我们可以通过getValue获取单元格的实际值,可以通过getText获取显示值。但是这些获取的都是一个完整的单元格值,那么有的用户想要获取双击后选中的值,应该如何实现呢?这个需求的背景是有的用户想要通过选中单元格的部分文本,然后点击按钮后实现上标或者下标的类似功能。

那想要实现上下标的功能,一个简单的方法就是通过富文本来实现。可以参考下面的学习指南的链接。
https://demo.grapecity.com.cn/sp ... ls/basic-rich-text#

那么我们主要讲一下如何获取选中部分的内容,想要用自定义单元格实现上下标,可以自行扩展。这个思路主要就是利用了,Windows下的getSeletion方法,然后,点击按钮时,会自动结束编辑状态,在我们的EditEnding事件中去获取选择的区域。代码如下,非常简单,做了一个浏览器的兼容的判断。
  1. var userSelection, userSelectionx;
  2.                 sheet.bind(GC.Spread.Sheets.Events.EditEnding, function (sender, args) {

  3.                     if (window.getSelection) {//一般浏览器
  4.                         userSelection = window.getSelection();
  5.                         console.log(userSelection)
  6.                     } else if (document.selection) {//IE浏览器、Opera
  7.                         userSelection = document.selection.createRange();
  8.                     }
  9.                    userSelectionx = userSelection.toString();
  10.                 });
复制代码


下载附件即可查看完整的demo。

online1.html

2.31 KB, 下载次数: 94

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部