以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数值列复制问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=15433)

--  作者:明丰
--  发布时间:2011/12/26 9:38:00
--  数值列复制问题

在数值列单元格处于编辑状态时粘贴数据,如果此时剪贴板内容是含数值的混合字符,会出错.

 

如:12L4 ,粘贴时会得到124(应该是空值才对)

 

虽然数值列单元格处于编辑状态时粘贴数据且剪贴板内容是含数值的混合字符出现的几率较少,但还是有必要修正.

 

请问如何设置?


--  作者:yangming
--  发布时间:2011/12/26 10:06:00
--  
数值列就只能是数值,不能含有任何字符啊,你要输入类似的字符,只能是改成字符型列类型
--  作者:明丰
--  发布时间:2011/12/26 10:33:00
--  
我的意思是防止用户误操作而产生错误数据,如粘贴 25AB 时,应该是无效操作,得到空值,单元格的值不应该是:25
--  作者:狐狸爸爸
--  发布时间:2011/12/26 10:58:00
--  
我测试没有问题,升级你的.net framework看看
--  作者:明丰
--  发布时间:2011/12/26 11:01:00
--  
点击数值列单元格并进入编辑状态(注意是"编缉状态"),再进行粘贴.请测试.
[此贴子已经被作者于2011-12-26 11:05:44编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/12/26 11:09:00
--  
我就是编辑状态的
--  作者:明丰
--  发布时间:2011/12/26 14:00:00
--  

双击单元格进入编辑状态,粘贴时还是出错.


--  作者:明丰
--  发布时间:2011/12/26 14:03:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:net.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:1.gif
图片点击可在新窗口打开查看

--  作者:don
--  发布时间:2011/12/26 14:29:00
--  
编码解决:

If e.col.name ="数量" Then
    Dim s As String = ClipBoard.GetText()
    Dim val As Double
    If Double.TryParse(s,val) = False Then 
        e.Cancel=True
    End If
End If

--  作者:明丰
--  发布时间:2011/12/26 14:52:00
--  
上面的代码请重新测试,我这边测试没通过.