找回密码
 立即注册

QQ登录

只需一步,快速开始

yangsq

银牌会员

7

主题

25

帖子

2276

积分

银牌会员

积分
2276

活字格认证

yangsq
银牌会员   /  发表于:2015-3-2 15:29  /   查看:7748  /  回复:5
1,NumberCellType类型的cell里最大只能输入15位数字吗?我测试的是15位以上就显示空白了。
2,假如设定可输入的最大值是999.999的话,当我用.Cells(i, j).Value = 1234赋值的话,能正常表示1234,但是双击进入cell时,就自动变成999.999了。
    这种情况能避免吗?

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-3-2 17:45:00
沙发
回复 1楼yangsq的帖子

请问你是指NumberCellType的MaxLength属性?
这个只能对运行时输入到单元格的文字做长度限制,对代码无法限制。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
yangsq
银牌会员   /  发表于:2015-3-3 09:11:00
板凳
回复 2楼Alice的帖子

我是通过MaximumValue设置最大位数的,当超过15位时就会报错,在代码里赋值超过15位时,就会变成空白。
现在客户要求输入时限制到99999.9999但是如果是通过计算得出来的结果即使大于99999.9999的位数也要表示出来并且可以想双击进去不自动变成99999.9999,有没有办法实现?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-3 17:45:00
地板
回复 3楼yangsq的帖子

设置MaximumValue会对输入user input做限制,但可以通过代码设置值。比如,下面的代码:
  1.             NumberCellType num = new NumberCellType();
  2.             num.MaximumValue = 99.99;

  3.             this.fpSpread1.ActiveSheet.Cells[0, 0].CellType = num;
  4.             this.fpSpread1.ActiveSheet.Cells[0, 0].Value = 999;
复制代码

如果是通过代码设置值,不会受到影响。
不知道你所谓通过计算得出的结果是通过什么方式设置的。如果是代码,不会受到影响。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
yangsq
银牌会员   /  发表于:2015-3-4 08:07:00
5#
回复 4楼Alice的帖子

我也是通过代码设置的,跟您写的一样,999能被反映到CELL中,您那边双击进入编辑模式时不会变成99.99吗?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-4 10:59:00
6#
回复 5楼yangsq的帖子

你的意思是,你设置了MaximumValue,然后通过代码设置了一个值超过最大值。最后还要进入编辑状态校验这个值?
进入编辑状态再退出,值在编辑状态校验了一次,会根据MaximumValue收到限制,这是设计。

最大值的限制会对编辑状态的值做校验。

目前来说spread不支持这样做。
你可以尝试判断更改MaximumValue来满足你的需求。比如通过代码设置的时候,重新根据你代码计算的值更改最大值。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部