Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:复制到数值列问题

1楼
明丰 发表于:2011/12/21 11:44:00

如果要复制某一单元格内容到数值列单元格中,如果数值列单元格已经进入编辑状态,如果原来的内容包含非数值字符,系统会过滤非数值字符,只粘贴数值字符.

 

如数值列单元格进入编辑状态时粘贴:AV125

 

如果是混合字符,禁止粘贴到编辑状态下数值列单元格中,请问如何设置?

2楼
明丰 发表于:2011/12/21 12:25:00

如果当前焦点是"数量"列,如果粘贴板的内容包含"1234567890+-*/.()"以外的字符,则禁止粘贴.(或清除粘贴板内容)

 

请问能设置吗?

3楼
mr725 发表于:2011/12/21 12:50:00

数字类型怎么会有【+-*/() 】 ???     应该只有【1234567890. 】吧。

4楼
明丰 发表于:2011/12/21 13:00:00

用字符型列通过设置模拟成数值列输入格式,可以在单元格中直接计算,如在单元格中输入:25*4*8

 

数字类型怎么会有【+-*/() 】这个问题不重要,主要是设置问题,已经找到ClipBoard类,应该可以设置的.

5楼
mr725 发表于:2011/12/21 13:11:00

类似这样:?

If e.DataCol.Name = "第三列" Then
    e.DataRow("第三列") = eval(e.DataRow("第三列") )
End If 

在第三列输入: 2*3  后,= 6

6楼
明丰 发表于:2011/12/21 13:33:00

是的

上面提到的问题基本解决:

 

'表事件-编辑-PrepareEdit
If e.Col.name = "数量" Then
    If ClipBoard.ContainsText Then '判断剪贴板中是否有字符
        Dim r As String = ClipBoard.GetText()
       Dim d As String = "1234567890+-*/.()"
        For r1 As Integer = 0 To r.length -1
            If d.IndexOf(r(r1)) < 0 AndAlso Char.IsControl(r(r1))  = False Then
                ClipBoard.Clear '清除剪贴板中的内容
            End If
        Next
    End If
End If

7楼
明丰 发表于:2011/12/21 14:50:00


如果只希望剪贴板中的内容在"数量"列中不可用,请问如何设置?

 

(在清除剪贴板内容之前先保存到其它地方,离开"数量"列时再重新添加到剪贴板中,感觉不好)

共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.