FlexGrid行编辑问题
int i = 1;
grid.Cols.Caption = "金额(元)";
grid.Cols.Name = "transferAmount";
grid.Cols.DataType = typeof(double);
grid.Cols.Format = "N";
grid.Cols.Width = 110;
grid.Cols.TextAlignFixed = TextAlignEnum.RightCenter;
grid.Cols.AllowEditing = true;
grid.AutoGenerateColumns = false;
使用以上代码在编辑行时输入123456后默认格式化成123,456.00,当把鼠标移动到','后按删除键不能删除','前面的数字。
如果在以上代码下加入
C1NumericEdit numericEdit = new C1NumericEdit();
numericEdit.VisibleButtons = C1.Win.C1Input.DropDownControlButtonFlags.None;
numericEdit.CustomFormat = "N";
grid.Cols.Editor = numericEdit;
把鼠标移动到','后按删除键是可以删除','前面的数字,但是如果双击当前编辑列的其他行,会将上次输入的数字123,456.00设置到当前双击的单元格内以默认值显示,
不知道这种情况是正常功能还是有问题?如果是正常功能,如何禁止? 回复 1楼tysoft的帖子
谢谢您的反馈。
测试版本:2015V2&VS2012.
测试代码:复制您在1楼的代码。
测试步骤:
1.在第一个单元格输入123456。
单元格显示123,456.00
2.进入编辑状态,将光标置于,号之后。
3.点击Delete键。
结果:变成12,356。原来单元格里的4成功删除。
不太理解用Delete键删除“,”号前面的数字,Delete键本身就是用来删除光标后面的文字。
是不是我的步骤或是理解哪里有问题? 不是delete键,是backspace 回复 3楼tysoft的帖子
您的问题我重现了。
将光标置于","号后并且按下backspace键,不能删除前面的数字,推测可能因为","引起的。
您的问题我会提交到产品组进行确认,如果是我们产品的bug,会进行修复,并在第一时间通知您。
很抱歉给您带来的不便。 回复 4楼Alice的帖子
好的,在加入了以下代码出现的问题呢?
C1NumericEdit numericEdit = new C1NumericEdit();
numericEdit.VisibleButtons = C1.Win.C1Input.DropDownControlButtonFlags.None;
numericEdit.CustomFormat = "N";
grid.Cols.Editor = numericEdit; 回复 5楼tysoft的帖子
第一段代码属于Flexgrid的问题。
您在C1FlexGrid里添加Editor后,进入编辑状态就不受到FlexGrid控制,而是由C1NumericEdit的设计来决定输入策略。
这两者是不同的。
从我理解来看,C1NumericEdit本身的设计比较符合期望。
我会将第一段代码,也就是C1FlexGrid设计不合理的地方提给产品组。 回复 6楼Alice的帖子
我觉得第二段代码一点都不合理,为什么双击没有数据的单元格会把上次输入的数字复制到当前单元格中。
不紧紧是C1NumericEdit,即使是用C1TextBox也会是一样的。 回复 6楼Alice的帖子
你可以去看看ComponentOne Sample Explorer for C1FlexGrid中的例子CustomEditors,里面使用了NumericTextBox,NumericTextBox继承了TextBox,这样写双击空单元格就不会把上次输入的数字复制过来。我就不明白C1控件为什么要复制。 回复 8楼tysoft的帖子
很抱歉之前没有理解您的意思。
您的问题我收到了,会一起提交给产品组。 回复 1楼tysoft的帖子
第一个问题,BugID:139548。
第二个问题,BugID:139552。
如果问题修复或是有新的反馈,我们会在第一时间通知您。
页:
[1]