找回密码
 立即注册

QQ登录

只需一步,快速开始

GPCT

初级会员

30

主题

76

帖子

232

积分

初级会员

积分
232

活字格认证

GPCT
初级会员   /  发表于:2014-9-9 16:56  /   查看:7710  /  回复:9
我新写了一个类PatternCellType,继承自TextCellType
<Serializable>
Public Class PatternCellType
    Inherits FarPoint.Win.Spread.CellType.TextCellType

这个类里面我新写了一个属性:
    Private _PatternStyle As HatchStyle
    Public Property PatternStyle As HatchStyle
        Get
            Return _PatternStyle
        End Get
        Set(value As HatchStyle)
            _PatternStyle = value
        End Set
    End Property

然后设置Spread的Sheet里面的某些Cell的类型为PatternCellType。
当我尝试将Spread保存到文件里的时候,我发现新写的属性无法保存。
这也就意味着我下次再Open的话,这个属性的值会丢失。

请问,如果能将自定义属性持久化?
我们改变不了环境,但是可以适应环境。
我们改变不了过去,但是可以把握未来。
我们改变不了别人,但是可以调整自己。

9 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-9-9 17:59:00
沙发
回复 1楼GPCT的帖子

你好,

目前 Spread 确实还不具备保存自定义单元格类型这个功能,我需要询问产品组看能否提供 WordAround 给你。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-9-15 17:56:00
板凳
回复 1楼GPCT的帖子

本问题还在继续跟进,有结果反馈给您,谢谢
回复 使用道具 举报
yinzhm
初级会员   /  发表于:2014-9-17 19:19:00
地板
回复 1楼GPCT的帖子

你好!

我最近也使用了自定义的cell。

我的方案是通过代码将Cell的类型设置为自定义的类型,比如写在一个初始化Spread的共同方法中
。这样就不用担心保存的问题了。
例如:
sprTest.ActiveSheet.Columns(10).CellType = New CustomCheckBoxCellType()
也可以设置某一个单元格的类型,具体应用可以相应变化。

不知道是不是你说的问题。
感觉有点像,希望有帮助。
回复 使用道具 举报
GPCT
初级会员   /  发表于:2014-9-18 11:45:00
5#
谢谢Iceman的跟进,等待你的答复:)

谢谢yinzhm的建议,我目前的确是这样做的,将我的CustomCellType的实例赋给一个Cell的CellType,但是在Spread.Save时,就发现CustomCellType.CustomProperty无法持久化,这个问题不仅仅是Save的时候,我发现只要是序列化,就会有问题。


目前我的回避方法是找一个基类TextCellType的不常使用的属性,例如NullDisplay,在序列化之前,将CustomProperty的值赋给NullDisplay,在反序列化之后,将NullDisplay中存储的值再填回CustomProperty中。这种回避方法能对应的属性是极少的,自定义属性如果很多,就会捉襟见肘,很难处理。
我们改变不了环境,但是可以适应环境。
我们改变不了过去,但是可以把握未来。
我们改变不了别人,但是可以调整自己。
回复 使用道具 举报
yinzhm
初级会员   /  发表于:2014-9-18 16:24:00
6#
回复 5楼GPCT的帖子

:strong:
了解了,多谢分享。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-9-18 16:34:00
7#
回复 5楼GPCT的帖子

不客气,应该做的。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-9-23 13:38:00
8#
回复 1楼GPCT的帖子

需要手动添加针对于自定义属性的序列号或反序列化代码,请使用附件 Demo 测试:

Modified_SerializationInSpread.zip (73.77 KB, 下载次数: 681)
回复 使用道具 举报
GPCT
初级会员   /  发表于:2014-9-25 19:02:00
9#
收到了,非常感谢!
我们改变不了环境,但是可以适应环境。
我们改变不了过去,但是可以把握未来。
我们改变不了别人,但是可以调整自己。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-9-26 12:10:00
10#
回复 9楼GPCT的帖子

不客气。本帖关闭了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部