找回密码
 立即注册

QQ登录

只需一步,快速开始

tysoft

中级会员

84

主题

214

帖子

678

积分

中级会员

积分
678

活字格认证微信认证勋章元老葡萄

tysoft
中级会员   /  发表于:2015-11-30 11:04  /   查看:7546  /  回复:9

  1. int i = 1;
  2. grid.Cols[i].Caption = "金额(元)";
  3. grid.Cols[i].Name = "transferAmount";
  4. grid.Cols[i].DataType = typeof(double);
  5. grid.Cols[i].Format = "N";
  6. grid.Cols[i].Width = 110;
  7. grid.Cols[i].TextAlignFixed = TextAlignEnum.RightCenter;
  8. grid.Cols[i].AllowEditing = true;
  9. grid.AutoGenerateColumns = false;
复制代码

使用以上代码在编辑行时输入123456后默认格式化成123,456.00,当把鼠标移动到','后按删除键不能删除','前面的数字。
如果在以上代码下加入
  1. C1NumericEdit numericEdit = new C1NumericEdit();
  2.             numericEdit.VisibleButtons = C1.Win.C1Input.DropDownControlButtonFlags.None;
  3.             numericEdit.CustomFormat = "N";
  4.             grid.Cols[i].Editor = numericEdit;
复制代码

把鼠标移动到','后按删除键是可以删除','前面的数字,但是如果双击当前编辑列的其他行,会将上次输入的数字123,456.00设置到当前双击的单元格内以默认值显示,
不知道这种情况是正常功能还是有问题?如果是正常功能,如何禁止?

评分

参与人数 1金币 +500 收起 理由
Alice + 500 提交Bug,奖励金币

查看全部评分

9 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-11-30 11:58:00
沙发
回复 1楼tysoft的帖子

谢谢您的反馈。
测试版本:2015V2&VS2012.
测试代码:复制您在1楼的代码。
测试步骤:
1.在第一个单元格输入123456。
单元格显示123,456.00
2.进入编辑状态,将光标置于,号之后。
3.点击Delete键。
结果:变成12,356。原来单元格里的4成功删除。
不太理解用Delete键删除“,”号前面的数字,Delete键本身就是用来删除光标后面的文字。
是不是我的步骤或是理解哪里有问题?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
tysoft
中级会员   /  发表于:2015-11-30 12:13:00
板凳
不是delete键,是backspace
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-30 14:32:00
地板
回复 3楼tysoft的帖子

您的问题我重现了。
将光标置于","号后并且按下backspace键,不能删除前面的数字,推测可能因为","引起的。
您的问题我会提交到产品组进行确认,如果是我们产品的bug,会进行修复,并在第一时间通知您。
很抱歉给您带来的不便。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
tysoft
中级会员   /  发表于:2015-11-30 14:51:00
5#
回复 4楼Alice的帖子

好的,在加入了以下代码出现的问题呢?
  1. C1NumericEdit numericEdit = new C1NumericEdit();
  2.             numericEdit.VisibleButtons = C1.Win.C1Input.DropDownControlButtonFlags.None;
  3.             numericEdit.CustomFormat = "N";
  4.             grid.Cols[i].Editor = numericEdit;
复制代码
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-30 15:02:00
6#
回复 5楼tysoft的帖子

第一段代码属于Flexgrid的问题。
您在C1FlexGrid里添加Editor后,进入编辑状态就不受到FlexGrid控制,而是由C1NumericEdit的设计来决定输入策略。
这两者是不同的。
从我理解来看,C1NumericEdit本身的设计比较符合期望。
我会将第一段代码,也就是C1FlexGrid设计不合理的地方提给产品组。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
tysoft
中级会员   /  发表于:2015-12-3 15:20:00
7#
回复 6楼Alice的帖子

我觉得第二段代码一点都不合理,为什么双击没有数据的单元格会把上次输入的数字复制到当前单元格中。
不紧紧是C1NumericEdit,即使是用C1TextBox也会是一样的。
回复 使用道具 举报
tysoft
中级会员   /  发表于:2015-12-3 15:24:00
8#
回复 6楼Alice的帖子

你可以去看看ComponentOne Sample Explorer for C1FlexGrid中的例子CustomEditors,里面使用了NumericTextBox,NumericTextBox继承了TextBox,这样写双击空单元格就不会把上次输入的数字复制过来。我就不明白C1控件为什么要复制。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-12-3 19:49:00
9#
回复 8楼tysoft的帖子

很抱歉之前没有理解您的意思。
您的问题我收到了,会一起提交给产品组。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-12-8 17:04:00
10#
回复 1楼tysoft的帖子

第一个问题,BugID:139548。
第二个问题,BugID:139552。
如果问题修复或是有新的反馈,我们会在第一时间通知您。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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