当前位置: 首页 > ds >正文

websheet之 编辑器

一、默认编辑器

         该单元格编辑器是控件自带的编辑器,用户不需要指定。

二、下拉选择

         该单元格编辑器是控件自带的编辑器的一种。该控件需要你指定下拉的数据源。在下面的例子中,我们给C3和C6单元格指定了币种的下拉选择编辑器。参数见:六、 参数说明。

/*** 币种下拉*/let wsheet = new websheet('HTML', yourElement);/*** 第一步 获取激活sheet*/let activeSheet = wsheet.ActiveSheet();/*** 第二步 币种下拉控件,并注册*/const cny = document.createElement('option');cny.value = 'CNY';cny.textContent = 'CNY-人民币';const usd = document.createElement('option');usd.value = 'USD';usd.textContent = 'USD-美元';const eur = document.createElement('option');eur.value = 'EUR';eur.textContent = 'EUR-欧元';let optionsBZ= [cny, usd, eur];activeSheet.setCellEditor('C3', websheet.Model.SelectCell, {data:optionsBZ,bextend:true});activeSheet.setCellEditor('C6', websheet.Model.SelectCell, {data:optionsBZ,bextend:true});/*** 第三步   重新绘制表格*/activeSheet.setColWidth(1, 160);activeSheet.setColWidth(2, 160);activeSheet.setColWidth(3, 160);activeSheet.setColWidth(4, 160);activeSheet.setColWidth(5, 160);activeSheet.WorkFormula(); //重建公式activeSheet.cacl();//公式计算wsheet.BuildSheet();wsheet.Draw();

         结果如下图:

在这里插入图片描述

在线代码
{.is-success}

三、日期时间编辑器

         websheet控件使用小巧flatpickr控件来实现日期时间编辑器,版本是:4.6.13。

3.1 默认日期编辑器

    activeSheet.SetCellValue('B3','2025-02-28');activeSheet.setCellEditor('B3', websheet.Model.DatePickCell);

3.2 月份

    activeSheet.SetCellValue('B3','2025-02-28');activeSheet.setCellEditor('B3', websheet.Model.DatePickCell);

3.3 日期多选

    activeSheet.SetCellValue('B3','2025-02-28');activeSheet.setCellEditor('B3', websheet.Model.DatePickCell);

3.4 日期时间

    activeSheet.SetCellValue('B3','2025-02-28');activeSheet.setCellEditor('B3', websheet.Model.DatePickCell);

3.5 时间

   activeSheet.SetCellValue('B3','2025-02-28');activeSheet.setCellEditor('B3', websheet.Model.DatePickCell);

         其设置可以参考flatpickr的官方网站。

         效果图如下:

在这里插入图片描述

在线代码
{.is-success}

四、进度条

         该进度条展示控件是自带的编辑器的一种, 该控件根据单元格的绘制完成比例。完整代码如下:

    /*** 第一步 获取激活sheet*/let activeSheet = wsheet.ActiveSheet();activeSheet.SetCellValue('A3','Progress控件'); /*** 第二步 一个下进度条控件,并注册*/let redoptions={isVertical:false,background:  '#eee',foreground:  'red',textColor:  '#333',};activeSheet.SetCellValue('B3',0.01);//设置完成度activeSheet.setCellEditor('B3', websheet.Model.ProgressCell,redoptions);let yeoptions={isVertical:false,background:  '#eee',foreground:  'yellow',textColor:  '#333',};activeSheet.SetCellValue('B4',0.50);//设置完成度 activeSheet.setCellEditor('B4', websheet.Model.ProgressCell, yeoptions);activeSheet.SetCellValue('B5',1);//设置完成度 activeSheet.setCellEditor('B5', websheet.Model.ProgressCell);activeSheet.SetCellValue('B6','Aab');//设置完成度activeSheet.setCellEditor('B6', websheet.Model.ProgressCell);/*** 第三步   重新绘制表格*/activeSheet.setColWidth(1, 160);activeSheet.setColWidth(2, 260);activeSheet.setColWidth(3, 160);activeSheet.setColWidth(4, 160);activeSheet.setColWidth(5, 160);activeSheet.WorkFormula(); //重建公式activeSheet.cacl();//公式计算wsheet.BuildSheet();wsheet.Draw();

在这里插入图片描述

在线代码
{.is-success}

         上下文参数如下:

参数说明是否必须
background背景颜色,例如’#eee’
foreground前景颜色,‘red’
textColor文本颜色

五、自动选择代码

         该编辑器可以根据输入自动筛选匹配的数据,可以通过鼠标或上下按键选择展示的内容,代码如下:

    /*** 第一步 获取激活sheet*/let activeSheet = wsheet.ActiveSheet();/*** 第二步 定义数据源,设置单元格编辑器为websheet.Model.CodeSelector*/const codeData = [{ code: "B01", description: "苹果" },{ code: "B02", description: "香蕉" },{ code: "B03", description: "橙子" },{ code: "B04", description: "西瓜" },{ code: "B05", description: "葡萄" },{ code: "A01", description: "电视机" },{ code: "A02", description: "冰箱" },{ code: "A03", description: "洗衣机" },{ code: "C01", description: "笔记本电脑" },{ code: "C02", description: "手机" },{ code: "C03", description: "笔记本电脑1" },{ code: "C04", description: "手机1" }];activeSheet.setCellEditor('C1:C10', websheet.Model.CodeSelector, {showdata:codeData,placeholder:'选择代码',bextend:true});activeSheet.setColWidth(3, 250)/*** 第三步   重新绘制表格*/wsheet.BuildSheet();wsheet.Draw();

在这里插入图片描述

在线代码
{.is-success}

         上下文参数如下:

参数说明是否必须
showdata需要展示的数组,对象格式“{code: “B01”, description: “苹果” }”
placeholder提示词,默认‘代码选择’
bextend名称是否填充 ,默认’false’

六、 参数说明

         setCellEditor的参数说明如下:

参数说明是否必须
range单元格地址,例如‘A1’
widget视图控件,例如websheet.Model.DatePickCell控件
contex上下文,例如展示币种控件需要币种的数据源

七、待开发的控件

  1. Radio 单选框
  2. Checkbox 多选框
  3. Switch 开关
  4. Slider 滑块

八、自定义编辑器

         如果你有自己编辑控件和展示内容的需求,可以参考自定义展示控件。

http://www.xdnf.cn/news/2073.html

相关文章:

  • PyTorch与CUDA的关系
  • Android——Activity与Fragment通信
  • Asp.Net Core 异常筛选器ExceptionFilter
  • Python教程(一)——Python速览
  • 白鲸开源与亚马逊云科技携手推动AI-Ready数据架构创新
  • <论文>(谷歌)用于时序链接预测的迁移学习
  • Asp.Net Core 基于(asp.net core 2.2) 创建asp .net core空项目
  • vite+vue2+elementui构建之 package.json
  • 深度解析:从12306看混合云架构下的高并发系统设计
  • Z-Wave正通过自我革新,重塑在智能家居领域新定位
  • 2025年的营销趋势-矩阵IP
  • (Go Gin)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
  • 数据湖DataLake和传统数据仓库Datawarehouse的主要区别是什么?优缺点是什么?
  • FlinkSql入门与实践
  • Linux文件管理完全指南:从命名规则到压缩解压
  • OpenHarmony - 小型系统内核(LiteOS-A)(十),魔法键使用方法,用户态异常信息说明
  • 字节:视频一致性生成论文速读
  • 【滑动窗口+哈希表/数组记录】Leetcode 76. 最小覆盖子串
  • kafka整合flume与DStream转换
  • Linux软硬链接和动静态库(20)
  • mac brew 无法找到php7.2 如何安装php7.2
  • 【机器学习速记】面试重点/期末考试
  • 【音视频】⾳频处理基本概念及⾳频重采样
  • 企业级智能合同管理解决方案升级报告:道本科技携手DeepSeek打造智能合同管理新标杆
  • (六)机器学习---聚类与K-means
  • 基于AI应用创业IDEA:使用百度搜索开放平台的MCP广场智能推荐MCPServices服务
  • Java 安全:如何防止 DDoS 攻击?
  • 全栈国产化信创适配,构建安全可控的呼叫中心系统
  • uniapp-商城-37-shop 购物车 选好了 进行订单确认3 支付栏
  • 【vue】 实现浏览器自动播放音频的指南