在单元格中,我们可以通过getValue获取单元格的实际值,可以通过getText获取显示值。但是这些获取的都是一个完整的单元格值,那么有的用户想要获取双击后选中的值,应该如何实现呢?这个需求的背景是有的用户想要通过选中单元格的部分文本,然后点击按钮后实现上标或者下标的类似功能。
那想要实现上下标的功能,一个简单的方法就是通过富文本来实现。可以参考下面的学习指南的链接。
https://demo.grapecity.com.cn/sp ... ls/basic-rich-text#
那么我们主要讲一下如何获取选中部分的内容,想要用自定义单元格实现上下标,可以自行扩展。这个思路主要就是利用了,Windows下的getSeletion方法,然后,点击按钮时,会自动结束编辑状态,在我们的EditEnding事件中去获取选择的区域。代码如下,非常简单,做了一个浏览器的兼容的判断。
- var userSelection, userSelectionx;
- sheet.bind(GC.Spread.Sheets.Events.EditEnding, function (sender, args) {
- if (window.getSelection) {//一般浏览器
- userSelection = window.getSelection();
- console.log(userSelection)
- } else if (document.selection) {//IE浏览器、Opera
- userSelection = document.selection.createRange();
- }
- userSelectionx = userSelection.toString();
- });
复制代码
下载附件即可查看完整的demo。
|
|