请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

powerchina
注册会员   /  发表于:2021-2-24 10:59  /   查看:1637  /  回复:5
本帖最后由 powerchina 于 2021-2-24 11:00 编辑

版本与条件:
   电脑系统:window;
   版本:spreadJS v14 组件版,使用 Designer  import { Designer } from '@grapecity/spread-sheets-designer-react';

问题描述:
1、怎么修改配置 限制
image.png510861205.png   数量添加?
2、怎么监听表单中数据发生修改?包括多个 sheet中数据变化 ,

代码:
  1. import React, { Component } from "react";
  2. import "@grapecity/spread-sheets-designer-resources-cn"; // 资源必须在上面
  3. import { Designer } from "@grapecity/spread-sheets-designer-react";

  4. export default class Excel extends Component {
  5.    constructor(props) {
  6.      super(props);
  7.      this.ref = React.createRef();
  8.    }

  9.    async componentDidMount() {
  10.      await this.onLoadData();
  11.    }
复制代码
有 相应 v14 react 组件版相关api文档吗


5 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-2-24 14:31:08
沙发
组件版设计器 (designer)只是对SpreadJS的接口做了二次开发(如工具栏),一些基础功能还是需要调用SpreadJS的接口。
对于您提的两个问题:
1、对 添加表单按钮  的限制
使用监听SheetChanging事件, 获取当前表单数量,如果达到限制数量,则设置cancel为true
示例代码:
  1. var sheet = spread.getActiveSheet();

  2. spread.bind(GC.Spread.Sheets.Events.SheetChanging, function (sender, args) {
  3. if(spread.getSheetCount() > 4) {
  4. args.cancel = true;
  5. }
  6. });
复制代码
2、监听表单中数据发生修改
可以通过监听 ValueChanged 事件, 脏数据等。您可以在学习指南、API文档 了解更多。

学习指南:https://demo.grapecity.com.cn/sp ... s/edit/dirty-items#
关于react 下demo的用法,您也可以在学习指南了解。
image.png734946593.png

建议您先学习 SpreadJS 的相关内容,我们提供了丰富的学习资源,附件为学习资源文档,您可以参考下。
另外,也可以借助论坛的搜索功能,搜索问题相关历史贴,快速获取答案。


葡萄城技术资源.pdf

225.45 KB, 下载次数: 29

回复 使用道具 举报
powerchina
注册会员   /  发表于:2021-3-2 10:24:26
板凳
image.png798030090.png

图中红框代码有什么用???
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-2 10:37:18
地板
getActiveSheet: 获取当前表单。API链接:https://demo.grapecity.com.cn/sp ... html#getActiveSheet
您可以在API文档中搜索。
image.png91573485.png
这些属于基础的API,建议您先在学习指南学习SpreadJS相关基础功能。
学习指南:https://demo.grapecity.com.cn/sp ... nitialization/react
image.png564186095.png
我们提供了SpreadJS官方支持QQ群,这些问题通过@群里机器人可以得到更快的回应。

QQ群:720389894
回复 使用道具 举报
powerchina
注册会员   /  发表于:2021-3-2 10:53:03
5#
不好意思啊,我的回复有歧义让你理解错了,
我的意思是 ,上下两个红框之前没有任何联系,这样第一个红框代码有什么用呢?
image.png351611632.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-2 11:47:10
6#
很抱歉,这些代码是在一个demo中截取的。
一般初始化时就会获取spread 和 sheet,所以demo中默认加上了。
正如您所说,上下代码没有联系,本贴中您忽视 红框1代码 即可。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部