找回密码
 立即注册

QQ登录

只需一步,快速开始

nelsen

高级会员

14

主题

52

帖子

1384

积分

高级会员

积分
1384

活字格认证微信认证勋章

nelsen
高级会员   /  发表于:2010-11-25 10:41  /   查看:9152  /  回复:7
如图所示,能否增加一个这样的控件,功能主要是每一格只允许输入一个数字(非数字不能录入,当录入小数点时自动跳到倒数第二格),如果光标在前面的格中输入数字,后面空的位置自动用“0”填充,如果在个位数连续输入数字,那该数值会自动向左边移动。不知是否有可能实现

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

7 个回复

倒序浏览
gw0506
超级版主   /  发表于:2010-11-25 10:44:00
沙发
我们有这样的控件,叫GcCharMask,是InputMan产品中的一个控件。
另外,没有看到图~
回复 使用道具 举报
nelsen
高级会员   /  发表于:2010-11-25 13:44:00
板凳
图片已附上,可否不用IM而是在MR中直接实现呢
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-11-25 14:13:00
地板
目前只能用label或者TextBox拼出UI,然后自己写逻辑了。
回复 使用道具 举报
gerry
论坛元老   /  发表于:2010-11-25 14:15:00
5#
如果不用IMCell的话,可以通过设置TextBoxCell下的MaxLength属性为1保证每个Cell只能输入一个字符。
通过设置TextboxCell的NullValue使Cell在默认状态下显示为0
通过设置TextBoxCell的ValueType为Int保证输入为int
通过.定位到倒数第二格可以通过处理Multirow下KeyPress事件实现具体逻辑。
不过这样您在取数据的时候也许还需要一些特殊逻辑。如果使用IM的MaskCell或者通过包装其他第三方Control为CostomCell应该会更好些。
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2010-11-26 14:49:00
6#
首先,非常抱歉我们没有提供这样的功能,为您的开发造成了不便。
我们经过分析,认为这个需求在票据开发中是比较重要的,我们会考虑在未来的版本中加入这样的功能。如果提供了这个功能,我们会第一时间发帖通知您。
对于当前的版本,在以下Demo中提供了一个替代方案,希望可以满足您的需求。



效果如下图:

这个方案的原理是用多个TextBoxCell来模拟每个输入框。每个TextBoxCell显示一个数字。
在TextBoxCell的上层,放置一个NumericUpDownCell来控制输入(可以根据需要改变控制输入的Cell的类型,如换成MaskedTextBoxCell等)。默认状态下,把NumericUpDownCell的前景色设成透明色(Color.Transparent)。这样用户只能看见TextBoxCell。而双击进入编辑状态时,在EditingControlShowing事件里设置前景色为黑色,就可以看见输入控件的字来控制输入数值。当NumericUpDownCell的值发生变化时,通过CellValueChanged事件中的逻辑同步TextBoxCell里的值来同步更新。
可以通过改变TextBoxCell的CellBorder类定制输入框的每个格子的样式。
这个方案不能完美解决您的需求,因为输入控制还是依赖标准的控件。如下图:

但是对于数值的格式化显示的支持应该可以满足您的需求。
希望这个方案对您有所帮助。
谢谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
nelsen
高级会员   /  发表于:2010-11-26 17:34:00
7#
谢谢Robert,这个需求对票据方面的开发确实比较重要。上面的例子基本可以满足,不过一般情况下小数点是不需要显示出来。新版本如果增加这个功能,最好能参照财务软件中的那个记帐凭证控件中的数值输入栏的功能,那样做相关的票据就很方便了
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2010-11-27 09:29:00
8#
修改了一下原来的Demo,把小数点去掉了。
可以下载附件查看原代码:



效果如下图:(对Border做了些设置)


如果您需要在项目中使用的话,可以在IDE中打开Template1.cs文件,选择Cell,直接拷贝粘贴到您的模板中。
如果还有什么需要改进的,欢迎继续回帖。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部