找回密码
 立即注册

QQ登录

只需一步,快速开始

bytcib
金牌服务用户   /  发表于:2019-11-29 15:08:36
13#

再次感谢您的支持与帮助,我们已经顺利做出了“嵌入法-活字格内嵌spreadjs”想要实现的效果,将spreadjs在合并的单元格中进行嵌入,并添加了一些功能,但在将此方法运用到实际项目中时,虽然spreadjs已经成功执行了js代码被放进了div中,但出现了表格的渲染不全问题,我们用了同样的文件加载顺序和页面加载时命令,实在找不出原因为什么会出现这样的问题,可以麻烦您帮我们看一看是怎么回事吗?
加载顺序相同
demo页面正常
项目页面渲染错误
同样的加载命令






本帖子中包含更多资源

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

x
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-11-28 16:01:06
12#
bytcib 发表于 2019-11-28 15:39
确实是这个问题,太感谢了

别客气哈~
回复 使用道具 举报
bytcib
金牌服务用户   /  发表于:2019-11-28 15:39:58
11#
Eric.Liang 发表于 2019-11-28 14:56
那是因为活字格的DIV是个多层的DIV
你在实例化对象的时候把子元素移除就行了

确实是这个问题,太感谢了
回复 使用道具 举报
bytcib
金牌服务用户   /  发表于:2019-11-28 13:54:10
9#
Eric.Liang 发表于 2019-11-28 13:33
一样呀~,你的table并没有在div里。当然位置会有问题的

不是我不想放确实是放不进去
回复 使用道具 举报
bytcib
金牌服务用户   /  发表于:2019-11-28 13:42:18
8#
Eric.Liang 发表于 2019-11-28 12:22
1.肯定是自己创建一个input是正确的,因为活字格的附件插件是自己的逻辑,无法直接应用于spreadJS
2.我 ...

按照您说的,我用jquery
把实例化对象变成了class="fgc-align"的那个div
var $v = $("div[class='fgc-align']")
或者它子元素最大高度660px的那个div
var $v = $("div[class='fgc-align__inner fgc-textalign-left fgc-verticalalign-middle']");
结果都是实例化不进去,只有它们父元素那个id="r5c4p_div"的div被实例化才能被实例化进去这是为什么
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-11-28 13:33:48
7#
bytcib 发表于 2019-11-28 13:15
波浪线报错的那行函数调用您直接去掉就是原来的效果了

一样呀~,你的table并没有在div里。当然位置会有问题的
回复 使用道具 举报
bytcib
金牌服务用户   /  发表于:2019-11-28 13:15:03
6#
Eric.Liang 发表于 2019-11-28 12:22
1.肯定是自己创建一个input是正确的,因为活字格的附件插件是自己的逻辑,无法直接应用于spreadJS
2.我 ...

波浪线报错的那行函数调用您直接去掉就是原来的效果了
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-11-28 12:22:42
5#
bytcib 发表于 2019-11-28 11:58
首先感谢您百忙之中的悉心解答,我们已经了解到上面的问题所在。 关于活字格内嵌spreadJS现在我们在做三 ...

1.肯定是自己创建一个input是正确的,因为活字格的附件插件是自己的逻辑,无法直接应用于spreadJS
2.我对spread构建对象本身的代码并不是很了解,但是我看页面加载命令中我去掉设置style的代码话我看是有报错的
你现在的效果是spread并没有加到div里

如果spreadDOM对象是appendChild到div下的话,肯定位置是正确的

本帖子中包含更多资源

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

x
回复 使用道具 举报
bytcib
金牌服务用户   /  发表于:2019-11-28 11:58:00
4#
Eric.Liang 发表于 2019-11-26 14:11
1.活字格调用自定义的HTML页面的spread对象的时候相当于是Iframe的父页面调用子页面的对象
2.test.html页 ...

首先感谢您百忙之中的悉心解答,我们已经了解到上面的问题所在。
关于活字格内嵌spreadJS现在我们在做三种技术实现的demo:现在进行中的是不用html自定义插件,而利用一个大的合并的单元格嵌入spreadjs ,配合活字格不同类型的单元格控件功能来实现不依赖iframe子页面实现全部功能,我们简称为“嵌入法-活字格内嵌spreadjs”

目前通过jquery等方式获取div元素节点,已经实现将spreadjs实例加载到页面中,在利用这种技术方式实现文件导入的过程中已经解决了全局变量问题,但同时被两个新的问题阻碍和困扰着:
                              
1.    上传文件所在单元格的类型:选择了两种方式:
a)    在活字格中键入文本框类型(input)类型单元格,再通过document.getElementById().setAttribute("type","file");设置为文件格式(spreadjs官方就是通过这种file控件导入的),再通过按钮调取其中文件
b)   在活字格中键入附件类型类型单元格,再通过按钮调取其中文件
问题:虽然跑过没有报错,但也没有取到文件,两种情况console.log()绑excelFile (命令写在了相应的导入按钮中)在控制台中输出都是 “undefined”
2.    嵌入spreadjs所在div的区域错位
取到的所在div实例化spreadjs后,spreadjs表格会显示到div所在区域的下方,这个取到的div中还有几个子元素div,分别都取到后实例化spreadjs过但都变成不显示表格了
后来通过调试我将改变高度的方法:
function reset_sinf(v){
v.setAttribute("style","position:absolute; width: 1020px; left: 80px; height:  0px; top: 100px;overflow: visible;"); //改变高度和顶端距离使元素显示在正确位置
console.log(v);
};
写在了页面加载命令中,修改了黄色区域的样式,但是这个方法要根据布局时刻调整高度和顶端距离,十分不便,而且我深知这并不是正确的解决方法,后期问题很可能会遇到很多问题,所以需要跟咱们官方请教正确的解决方法。

本帖子中包含更多资源

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

x
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-11-27 11:13:34
3#
Eric.Liang 发表于 2019-11-26 14:11
1.活字格调用自定义的HTML页面的spread对象的时候相当于是Iframe的父页面调用子页面的对象
2.test.html页 ...

表格的API:https://help.grapecity.com.cn/pa ... ion?pageId=23594555
单元格的API:https://help.grapecity.com.cn/pa ... ion?pageId=23594555
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部