当前位置:编程学习 > C#/ASP.NET >>

DataGridView的奇怪问题:输入数字时第一个数重复

我在使用DataGridView的时候发现一个奇怪的问题:如果往单元格里输入数字,第一个数字总要重复两次,比如要输入30,在单元格里发现输入的是330。请问怎么解决这个问题? --------------------编程问答-------------------- 仔细看代码 --------------------编程问答-------------------- 没遇到过这样的问题,仔细看看自己的代码吧,或是把你的代码贴出来让大家看看 --------------------编程问答-------------------- 是不是数据被回送了? --------------------编程问答-------------------- 功能很强大啊! --------------------编程问答-------------------- 肯定是代码出问题了
程序不会欺骗你的
程序也不会出错,出错的是你的逻辑 --------------------编程问答-------------------- up --------------------编程问答-------------------- 代码都是用来连接和绑定数据表的,没有写任何处理输入和操作数据栅格控件的代码。 --------------------编程问答-------------------- 代码贴出来 --------------------编程问答-------------------- 换个键盘.. --------------------编程问答--------------------
引用 9 楼 adonis_net 的回复:
换个键盘..
--------------------编程问答-------------------- 贴代码,不可能,肯定代码出问题。 --------------------编程问答--------------------
引用 9 楼 adonis_net 的回复:
换个键盘..

哈哈,这个经典,闹了半天原来是3坏了啊. --------------------编程问答-------------------- 输入法问题吧 --------------------编程问答-------------------- 不可能 --------------------编程问答--------------------
引用 9 楼 adonis_net 的回复:
换个键盘..


这个强! --------------------编程问答-------------------- 查代码
换键盘 --------------------编程问答-------------------- 应该是键盘的问题! --------------------编程问答-------------------- 我也遇到这样的问题!绝对不是键盘问题,也不存在代码的问题(因为根本没有代码!也就是没有处理),很怀疑是控件本身的问题! --------------------编程问答-------------------- 看到这个太激动了,我再补充下,是单纯单击选中单元格(不是双击以后进入编辑状态),直接键入数字,第一个数字就输入了两遍,单元格进入编辑状态。 --------------------编程问答-------------------- 确实有这个问题,我也碰到过的。不过,有时好像又正常啊。漏洞吧。没法解决 --------------------编程问答--------------------
引用 9 楼 adonis_net 的回复:
换个键盘..

. --------------------编程问答-------------------- 换键盘,这个太扯了…… --------------------编程问答-------------------- 不会吧,开什么玩笑,是你的键盘吧 --------------------编程问答-------------------- 代码贴出来一看便知 --------------------编程问答-------------------- 我也碰到同样问题!不只是数字键,字母也一样,只要是第一个键入的都会重复一次。不是键盘问题,因为换过键盘问题依旧;也与代码无关,因为键盘操作在控件内部(实际程序中只是放置了仅有一个空行的DGV控件,没有其他任何用户代码)。应该是框架和操作系统之中的问题,在单位的几台电脑中有一台有此现象,其他的都正常。会不会与.net和windows的版本有关:( --------------------编程问答-------------------- 我现在也碰到同样的问题了,使用的是DATAGRIDVIEW控件。在中文输入法下,输入数字,第一数字就会重复。

经过测试,好像使用微软拼音、谷歌会出现此问题,而使用搜狗、智能ABC正常。

盼大侠给予解决方案。 --------------------编程问答-------------------- 我找到原因了,需要把datagridview属性中EditMode 值改为EditOnEnter就ok了。 --------------------编程问答-------------------- 太感谢了,纠缠了N久的问题,今天终于解决了

引用
我找到原因了,需要把datagridview属性中EditMode 值改为EditOnEnter就ok了。
--------------------编程问答-------------------- 跟你windows操作系统有关,编辑模式在不同的版本下 会有不同效果。 --------------------编程问答-------------------- 我也遇到过这个问题,还没有试那个mode,明天看看。非常感谢。 --------------------编程问答-------------------- 和输入法有关
1、当输入法是英文时没有问题
2、当输入法是中文是,第一次输入时会出现两个重复数字 --------------------编程问答-------------------- 和输入法有关
1、当输入法是英文时没有问题
2、当输入法是中文是,第一次输入时会出现两个重复数字 --------------------编程问答-------------------- 呵呵,仔细检查,或者代码贴上 --------------------编程问答-------------------- 此問題好像是DataGridView控件與IME之間的問題。
隨意在Form上拉一個DataGridView,不用打任何代易做图。
執行後,把輸入轉為中文輸入法,點擊儲存格,整個儲存格也會「亮」起來,切記不要雙擊或按F2進入文字修改模式(此模式是不會有問題的),在亮起來的儲存格上按數字123,輸入的數字便會變成1123。

本人測試過的輸入法
繁體中文:新倉頡2010
繁體中文:新速成
簡體中文:拼音2010

緊記:
一定要把輸入法選項設定為「中」,而非「英」才會出現此問題。(可按SHIFT鍵切換)
另外,輸入中文是正常的。

我懷疑是中文IME的問題,折衷辦法有:
1. 在亮起來的儲存格按F2,然後才輸入數字。
2. 輸入數字前,先轉為「美式鍵盤」或者中文輸入法選項設定為「英」。
3. 把DataGridView.EditMode改為EditOnEnter,此方法的意思是:在儲存格上用滑鼠單擊會直接進入文字修改模式。


--------------------编程问答-------------------- 之前打漏了, 在Form上拉一個DataGridView後, 請加入一個Column,這樣才有儲存格出現。 --------------------编程问答-------------------- 纠结这个问题一段时间 谢谢赐教 --------------------编程问答-------------------- 键盘党!!! --------------------编程问答-------------------- 这个应该是第一个3去触发了什么事件了吧? --------------------编程问答-------------------- 和输入法有关
1、当输入法是英文时没有问题
2、当输入法是中文是,第一次输入时会出现两个重复数字
------------------------------------------------------
就是这样,输入法关掉就没事了 --------------------编程问答-------------------- 把Editmodel属性设置为EditOnEnter就OK了。 --------------------编程问答-------------------- DataGridView的EditModel属性默认是EditOnKeystrokeOrF2,此时如果用中文输入法编辑单元格内容,就会出现这种情况,像楼上说的改成EditOnEnter就可以了。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,