找回密码
 立即注册

QQ登录

只需一步,快速开始

nelsen

高级会员

14

主题

52

帖子

1384

积分

高级会员

积分
1384

活字格认证微信认证勋章

nelsen
高级会员   /  发表于:2010-11-8 12:07  /   查看:7260  /  回复:2
请问TextBoxCell能否控制输入数值的小数位数,例如设成两位小数位时,当输入数值小数位超过两位数时自动四舍五入,如未足两位小数位则补0。

2 个回复

倒序浏览
robert
金牌服务用户   /  发表于:2010-11-8 12:37:00
沙发
执行程序请参考附件中的代码。

  1. t.Row.Cells[i].ValueType = typeof(decimal);
  2. t.Row.Cells[i].Style.Format = "N2";
复制代码
Style的Format属性可以控制TextBox的格式。在设计时可以使用Format的编辑器,就不用记忆复杂的格式了

ValueType属性可以指定Cell的值类型。

本帖子中包含更多资源

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

x
回复 使用道具 举报
barrylei
超级版主   /  发表于:2010-11-8 14:32:00
板凳
基于楼上Robert的Demo,我在他的例子里增加了一些代码,目的是在输入的时候只能输入数字,小数点等,仅供参考。
这里要说一下,我们的Cell里面嵌入的都是标准的.NET 控件,如TextBoxCell嵌入的是TextBox控件,DateTimePickerCell嵌入的是DateTimePicker控件,所以,如果你要使用里面这些控件的事件做更细节的控制的话,需要使用GcMultiRow.EditingControlShowing事件,在里面的嵌入控件被创建的时候触发,所以,典型的用法是:
  1.         
  2.         void gcMultiRow1_EditingControlShowing(object sender, EditingControlShowingEventArgs e)
  3.         {
  4. //摘除或者挂你想要使用的事件
  5.             e.Control.KeyPress -= new KeyPressEventHandler(Control_KeyPress);
  6.             e.Control.KeyPress += new KeyPressEventHandler(Control_KeyPress);
  7.         }
  8.         void Control_KeyPress(object sender, KeyPressEventArgs e)
  9.         {
  10.           //写你的代码            
  11.         }
复制代码

本帖子中包含更多资源

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

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