GcNumberCell的表示问题
需求:有个数量单元格,输入限制 Fields="##,###,##0",这样输入“99999999”是可以的。现在有个业务是将这个数量转成负值表示到multiRow上,因为“-99999999”超出了Fields指定的位数,MultiRow表示时就会DataError。
问:Fields不能在程序里动态设定,要怎么才能让这个负值正常表示到MultiRow上 Fields应该为 "##,###,##0;;;-;;"
GcNumber的Format格式为 "数值部分Pattern;正数前缀;正数后缀;负数前缀;负数后缀"。
另外,确保你的GcNumberCell的MinValue和MaxValue设置正确,MinValue应该小于-99999999,ValueSign属性为NoControl,这样才可以接收负数Value。 MinValue修改成-99999999的确可以解决问题。
不过我现在要跟VBA的定型入力“##,###,###”保持一致(只能输入-9999999)的话,
没有别的解决办法了吗 不是很理解你的问题,能不能说的详细一点,最好给一个Demo或者程序的截图。能否描述一下,你期望这个GcNumberCell可以接受什么样的输入,不能接受什么样的输入? 问题补充:现在在移植一个VBA系统到.NET,
原VBA系统中,数量指定了输入格式(##,###,###),输入范围为-9,999,999~99,999,999。
有个业务是这个数量登入DB后,再检索出来以负值表示到画面上。
输入最大99999999,插入DB,然后再检索出来,
在VBA中可以正常显示(-99,999,999),只是输入格式限制就自动失效了(推测VBA中的输入格式限制不到 拷贝粘贴,后台赋值) 了解了。请尝试下面的方式:
把Cell的输入格式设定为"##,###,###",这样Cell就可以显示 -99,999,999~99,999,999。
然后挂上GcMultiRow的EditingControlShowing事件,在事件处理函数中,把EditingControl (类型可以转为GcNumberEditingControl,而不是GcNumberCell)的MinValue设置为-9.999,999。这样就可以对输入进行限制。
这样做输入的范围就是 -9,999,999~99,999,999。 回复 6楼Carl的帖子
感谢@Carl的回复。
@Kissmint 请问你的问题解决了么? 问题已经解决
非常感谢Carl大牛!:hjyzw: 回复 8楼Kissmint的帖子
好的。
谢谢你的反馈。
页:
[1]