找回密码
 立即注册

QQ登录

只需一步,快速开始

feixing1357

注册会员

10

主题

23

帖子

61

积分

注册会员

积分
61

活字格认证

feixing1357
注册会员   /  发表于:2010-5-24 10:07  /   查看:9047  /  回复:7
您好,有个问题要请教一下:
我自己写了一个继承FarPoint.Web.Spread.TextCellType的text控件,自定义了其CSS和增加了多行输入的功能,使用时我设置它的ShowEditor = True,但是这个控件在表示时和往里输入值的时候表现出来的样子是不同的,代码请见附件,代码中打开的模板就是一个普通的空Excel。

7 个回复

倒序浏览
feixing1357
注册会员   /  发表于:2010-5-24 10:12:00
沙发

自定义控件不同状态下表现形式不一致

不好意思啊,由于那个工程压缩后超过2M所以我只能把代码中有用的文件发给你,你自己建一个工程吧

Default.zip

4.48 KB, 下载次数: 722

zip

回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-5-24 13:51:00
板凳
当你编辑时,你看到的是Editor,也就是TextBox,而它的style=“spread_textarea_style”。

当你比编辑结束了,看到的是Cell,你并没有设置它的style。

所以,如果想让两个状态下看起来一样,有两个办法:
1. 设置cell的CssClass和TextBox的相同:multiTextCellType.CssClass = "spread_textarea_style" 。

或者

2. ShowEditer = false。

我估计方法1会是你比较喜欢的。
回复 使用道具 举报
feixing1357
注册会员   /  发表于:2010-5-24 14:25:00
地板
根据需求,我必须ShowEditor = True
我按照你的方法1试了一下,还是不行啊
结果的抓图请见附件

tu.zip

28.42 KB, 下载次数: 706

zip

回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-5-24 19:48:00
5#
你是说两张图背景色不同么?

如果是这样的话,你可以给editor设置背景色
With _inputArea
......
.BackColor = Drawing.Color.White
End With

其实Spread提供的TextCellType也可以设置为多行:
Dim textCellType As New FarPoint.Web.Spread.TextCellType
textCellType.ShowEditor = True
textCellType.CssClass = "spread_textarea_style"
textCellType.Multiline = True

如果用我们提供的TextCellType,按如上设置,会出现同样的效果。不同的状态会产生不同的效果。这与产品设计有关。
回复 使用道具 举报
feixing1357
注册会员   /  发表于:2010-5-25 09:10:00
6#
> 你是说两张图背景色不同么?
两个状态下不光背景色不同,编辑的时候那个边框也没有了,我给editor设置背景色,可以使两个状态下背景色相同了,但是边框还是没有,我也试着设置了editor的边框,也不行。

> 如果用我们提供的TextCellType,按如上设置,会出现同样的效果。
我使用Spread提供的TextCellType,按您给的设置了,还是那样:编辑时,editor的边框就没了
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-5-25 09:45:00
7#
是的,Spread提供的TextCellType在ShowEditor的时候,确实是这样的。所以我说这个和产品设计有关。我们已经记录下你的问题,在将来产品的设计时会综合其他用户的反馈,决定关于这个问题的策略。

由此问题带给您的不便,希望你能谅解。同时我们仍然在寻找替代方案,如果有合适你的,第一时间会通知你的。
回复 使用道具 举报
feixing1357
注册会员   /  发表于:2010-5-25 09:50:00
8#
好的  仍然十分感谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部