找回密码
 立即注册

QQ登录

只需一步,快速开始

sxyweiren

中级会员

73

主题

366

帖子

755

积分

中级会员

积分
755

活字格认证微信认证勋章

sxyweiren
中级会员   /  发表于:2019-1-8 10:42  /   查看:3740  /  回复:7
本帖最后由 sxyweiren 于 2019-1-8 17:47 编辑

Spread11的单元格继承关系跟之前的Spread10以及以前的版本差异挺大么?
1,Form上拖一个Spread11,Protect属性设定为True,
下面的操作都在设计器里面做。
2,其中一列的Locked属性设定为False
3,选中Sheet的属性,设定RowCount为0,这个时候所有的单元格都清空了。
4,然后把RowCount设定为100,就又追加上了100行单元格。
5,然后选中上面设定Locked属性为False的列里面的单元格。
6,竟然发现Locked属性是True,,,Locked属性是True,,,Locked属性是True,,,
这个是为什么???

这样导致了,明明这个单元格是可以编辑的,但是通过Sheet.Models.Style.GetDirectInfo以及GetCompositeInfo取到的样式信息里面的
Lock属性和直接取到单元格的Locked属性是不一致的。
这样明显是不正确的。。
这个问题有没有可能被修复?????

7 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-8 17:59:10
沙发
您好,我这边V12里测试并为重现出您的问题。
您现在清空行再恢复行的目的是什么,为什么需要这么操作
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2019-1-8 18:20:37
板凳
dexteryao 发表于 2019-1-8 17:59
您好,我这边V12里测试并为重现出您的问题。
您现在清空行再恢复行的目的是什么,为什么需要这么操作

我以为清空再恢复能让列的设定反应过去。。。

能否帮我确认下面几个问题?在设计器里面
1,新增加的Spread,默认的单元格的Locked属性是True还是False?
2,列的Locked属性设定为False之后,单元格的Locked属性是True还是False?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-9 16:57:54
地板
这里是发生了变化,参考https://www.grapecity.com.cn/blo ... features-like-excel
V11里sheet protect 默认为true, sheet 有一个default style, locked默认为false。 实际默认新增的cell 或者列的locked属性都为null。最终cell表现的locked行为,是按照cell>row>column>sheet的优先级组合出来的。 也就是说如果单元格没有设置过locked那就用列的,列也没设置就用默认的。
你的第二个问题, 列设置false,那么如果单元格没有设置过locked,就继承也是false。如果设置过,自己是什么还是什么。
可以通过ResetLocked恢复locked的默认状态

V12里有个不同,default 的默认变了,其他行为不变。
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2019-1-9 17:49:42
5#
dexteryao 发表于 2019-1-9 16:57
这里是发生了变化,参考https://www.grapecity.com.cn/blogs/implement-more-features-like-excel
V11里sh ...

我用过的Spread是V11J的Sp2

Locked属性已经是默认是False了。
这样在我上面说步骤,在设计器里面看到的Locked属性就是False啊?
这样用ActiveSheet.ActiveCell.Locked取到的值是True

因为日文版的还没有12,所以十二月初买的11J
能不能帮反映下,因为这个影响确实挺大的。
判断Locked属性都不好判断了。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-9 18:36:18
6#
日文版的版本和大陆是不一样的,需要查文档一下sp2是不是已经改了默认值了。
你要判断单元格是否能编辑就是看GetStyle().locked的属性是否为true。 如果要知道到底是cell还是column的locked生效,就需要分别获取cell的locked和column的locked去判断了。
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2019-1-10 10:52:54
7#
dexteryao 发表于 2019-1-9 18:36
日文版的版本和大陆是不一样的,需要查文档一下sp2是不是已经改了默认值了。
你要判断单元格是否能编辑就 ...

核心源码也不一样么??
日文版是重新做了一套?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-12 01:30:52
8#
核心代码一样,但是版本控制以及一些功能行为是有差别的。
关于您说的默认值的问题,locked保护的继承机制是一样的,只是版本的默认值不同。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部