森森 发表于 2024-11-21 09:01:58

怎么保存选中打勾的效果,不通过保存sjs方法

怎么保存这个选中打勾的效果,不用保存sjs的方法,什么方法能够知道哪些被选中

Wilson.Zhang 发表于 2024-11-21 09:01:59

森森 发表于 2024-11-22 09:14
var sheet = this

根据您提供的图示,看起来您使用的应该不是复选框列表单元格类型,更像是表单控件中的复选框。如果是复选框控件,它是一种形状,可以通过形状的value()方法获取或设置值。如下动图所示:



可以参考官网教程了解复选框控件的使用:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/shapes/form-control/check-box#timestamp

Wilson.Zhang 发表于 2024-11-21 11:47:13

您好!如果您需要在选框被点击后了解被选择的选项,可以通过Worksheet:getValue()对单元格获取值,也可以通过ValueChanged事件监听被选中的选项。您指的“保存这个选中打勾的效果”是只需要保存被选中的选项吗?需要跟您确认下关于这个需求的具体场景。

森森 发表于 2024-11-21 13:15:44

Wilson.Zhang 发表于 2024-11-21 11:47
您好!如果您需要在选框被点击后了解被选择的选项,可以通过Worksheet:getValue()对单元格获取值,也可以通 ...

就是我想保存被选中的效果,被选中后我点保存把选中的值存起来,再第二次刷新的时候再把选中的值渲染上去

森森 发表于 2024-11-21 13:16:52

Wilson.Zhang 发表于 2024-11-21 11:47
您好!如果您需要在选框被点击后了解被选择的选项,可以通过Worksheet:getValue()对单元格获取值,也可以通 ...

:getValue()似乎不能获取这种矩形框被选中的值吧

森森 发表于 2024-11-21 13:22:39

Wilson.Zhang 发表于 2024-11-21 11:47
您好!如果您需要在选框被点击后了解被选择的选项,可以通过Worksheet:getValue()对单元格获取值,也可以通 ...

像红色框起来的部分getvalue获取的值是片(块、料)石,至于监听的话和我们需求有点不搭,而且我除了获取被选中效果还要回显被选中效果,我们是sjs文件和数据分离的一个状态,我需要将被选中的转换成数据,在sjs文件上回显

Wilson.Zhang 发表于 2024-11-21 17:30:27

森森 发表于 2024-11-21 13:22
像红色框起来的部分getvalue获取的值是片(块、料)石,至于监听的话和我们需求有点不搭,而且我除了获取 ...

是否可以这样理解:对sheet操作后,数据单独保存,sjs中只保存表格结构?再一次打开sjs文件时同时读取被保存的数据再渲染在sheet中?

您使用的应该是复选框列表吧?!如下动图所示,您可以看到复选框列表单元格中记录的值为数组类型,其中存储了选项对应的value。那么,根据这个存储值的形式,即可通过setValue()更换选项。


所以,如果只是需要保存复选框列表单元格的选值,通过Worksheet:getValue()即可获取选项数据,以相同的数据结构调用Worksheet:setValue()又可对复选框列表单元格切换选项。您看这样是否满足您的需求。

森森 发表于 2024-11-22 09:13:52

Wilson.Zhang 发表于 2024-11-21 17:30
是否可以这样理解:对sheet操作后,数据单独保存,sjs中只保存表格结构?再一次打开sjs文件时同时读取被 ...

是我代码的问题吗?我getValue获取不到复选框的值啊

森森 发表于 2024-11-22 09:14:14

Wilson.Zhang 发表于 2024-11-21 17:30
是否可以这样理解:对sheet操作后,数据单独保存,sjs中只保存表格结构?再一次打开sjs文件时同时读取被 ...

var sheet = this.spread.getActiveSheet();
      let columnCount = sheet.getColumnCount();
      let rowCount = sheet.getRowCount();
      for (let row = 0; row < rowCount; row++) {
      for (let col = 0; col < columnCount; col++) {
          /* 获取当前遍历单元格的值 */
          let value = sheet.getValue(row, col);
          console.log(value);
      }
      }


Wilson.Zhang 发表于 2024-11-28 15:15:51

您好!请问下您的问题是否已得到解决?如未解决,欢迎您继续反馈。
页: [1] 2
查看完整版本: 怎么保存选中打勾的效果,不通过保存sjs方法