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

QQ登录

只需一步,快速开始

chou19870206

初级会员

26

主题

70

帖子

206

积分

初级会员

积分
206
chou19870206
初级会员   /  发表于:2019-12-4 13:47  /   查看:4427  /  回复:8
背景说明:
我们公司使用的是微软Dynamics CRM系统,ASP架构,在前端页面把SpreadJS嵌套在了一个IFrame中,我希望通过点击表单上原有的保存按钮,能获取到SpreadJS控件中的数据,最好是能获取到脏数据。

测试过程:
1、在父窗体的脚本中能获取到SpreadJS对应HTML的元素,但使用获取到的对象初始化Spread是空的


2、和上面类似,我在SpreadJS子页面新增加了一个文本框,父页面也是能获取其值


问题:在父页面的保存脚本中如何获取SpreadJS页面的脏数据,越简单越详细越好!非常感谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

8 个回复

KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-12-4 17:51:16
沙发
您好,从您的第一张图来看,您是通过父页面,给子页面的div上初始化了一个全新的Spread workbook对象,

但第二张图来看,实际上子页面的Workbook已经完成了初始化,并且可以从父页面获取到子页面的值。

您不需要通过new的方式创建新的workbook实例,可以通过父页面先获取到子页面中div的Dom元素,然后通过findControl方法拿到这个div上的workbook实例即可。

示例代码如下:
  1. var spDiv = sp.contentWindow.document.getElementById("ss");
  2. var spread = GC.Spread.Sheets.findControl(spDiv);
复制代码

回复 使用道具 举报
chou19870206
初级会员   /  发表于:2019-12-4 19:00:33
板凳
KevinChen 发表于 2019-12-4 17:51
您好,从您的第一张图来看,您是通过父页面,给子页面的div上初始化了一个全新的Spread workbook对象,

...

您好,感谢答复!
该方法我之前已试过,不行。
var spread = GC.Spread.Sheets.findControl(spDiv);
得到的spread是null

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-12-5 14:33:55
地板
您好,很抱歉,之前提供的方法有问题。

跨iframe获取spread的workbook实例,需要调用iframe内的GC.Spread.Sheets.findControl,

参考以下代码:

  1. iframe.contentWindow.window.GC.Spread.Sheets.findControl("ss");
复制代码
回复 使用道具 举报
chou19870206
初级会员   /  发表于:2019-12-5 16:03:01
5#
KevinChen 发表于 2019-12-5 14:33
您好,很抱歉,之前提供的方法有问题。

跨iframe获取spread的workbook实例,需要调用iframe内的GC.Sprea ...

感谢您的耐心解答!

现在已能获取到Spread,如果在原有行中进行编辑,是能获取到变更的数据行信息;但如果是新插入的行(哪怕录入了数据)、删除的行信息无法获取,麻烦您再帮忙看看,辛苦了!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
chou19870206
初级会员   /  发表于:2019-12-5 16:06:17
6#

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-12-5 16:27:05
7#
你好,实际上插入行和删除行有特定的API来获取,请参考以下两条:

https://demo.grapecity.com.cn/sp ... ~getInsertRows.html

https://demo.grapecity.com.cn/sp ... getDeletedRows.html
回复 使用道具 举报
chou19870206
初级会员   /  发表于:2019-12-5 16:49:56
8#
KevinChen 发表于 2019-12-5 16:27
你好,实际上插入行和删除行有特定的API来获取,请参考以下两条:

https://demo.grapecity.com.cn/sprea ...

太感谢了,有了这些我就能搞定了!谢谢!
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-12-5 17:57:28
9#
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部