找回密码
 立即注册

QQ登录

只需一步,快速开始

sam
论坛元老   /  发表于:2013-1-30 00:06:00
楼主
Hi  dof:

我现在遇到一个问题,就是在表格中的某个单元格中输入了一个长的数字串,如: 212213212323233,这样,在调用了后台的SaveChanges()方法,此单元格的值就会自动变为:2122132E+11 这种的格式(就像EXCEL中的那种格式)。 请问,有没办法不能变化,因为我要的就是一个长的字符串。
以上看如何解决?谢谢!
回复 使用道具 举报
sam
论坛元老   /  发表于:2013-1-30 09:49:00
沙发
以上问题是在那个PopupCellType类型中发生的。因为这个类型是继承于:GeneralCellType
如下:public class PopupCellType : FarPoint.Web.Spread.GeneralCellType

这样就会发生当为长数字时,会自动变成那种有+号的科学计数法。我想直接为字符串.

请问,这个该如何解决?谢谢!
回复 使用道具 举报
sam
论坛元老   /  发表于:2013-1-30 10:08:00
板凳
是否可以通过GeneralCellType类型的属性:FormatString 属性 来直接转换为字符串类型?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-30 10:27:00
地板
回复 2楼sam的帖子

将GeneralCellType修改为FarPoint.Web.Spread.TextCellType应该就可以避免这个问题。
回复 使用道具 举报
sam
论坛元老   /  发表于:2013-1-30 11:26:00
6#
这个我知道,但是,我需要用到GeneralCellType中的ErrorMessage属性。故,不能换为TextCellType。麻烦再帮忙想想办法。谢谢!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-30 14:22:00
7#
你现在 PopupCellType 是用的哪个实现方法,能否把帖子地址发给我。
回复 使用道具 举报
sam
论坛元老   /  发表于:2013-1-30 15:31:00
8#
就是这个帖子,麻烦看下,就是在返回的数据中如果有一个很长的数字时候,则在保存时候就会变。
http://gcdn.grapecity.com/showtopic-7196.html

谢谢!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-31 09:18:00
9#
回复 7楼sam的帖子

可以在PopupCellType重写 Parse 方法,如下:
  1.     public override object Parse(string s)
  2.     {
  3.         //var obj = base.Parse(s);
  4.         return s.ToString();
  5.     }
复制代码
回复 使用道具 举报
sam
论坛元老   /  发表于:2013-1-31 11:40:00
10#
感谢  加了这个转换就可以啦
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-31 16:01:00
11#
好的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部