以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  菜单代码运行问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172653)

--  作者:jt20002000
--  发布时间:2021/10/24 20:21:00
--  菜单代码运行问题
我根据视频学习使用菜单文本框,输入代码后显示:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.5.29.1
错误所在事件:菜单,sure,Click
详细错误信息:
无法在 System.Double 和 System.String 上执行“=”操作。


Dim strf As RibbonMenu.TextBox = RibbonTabs("查询").Groups("查询").Items("finder").Items("Ttofind")
Dim Val As String = strf.Text
With CurrentTable
    Dim dr As String = .Cols(.Colsel).Name
    Dim Index As Integer = .FindRow( dr & " = \'" & Val & " \'", .Position + 1,True)
    If Index >= 0 Then
        .Position = Index
    End If
End With


求帮助,谢谢

--  作者:有点蓝
--  发布时间:2021/10/24 21:22:00
--  
如果选择的列是数值列,比如双精度,是不能添加单引号的

With CurrentTable
    Dim dr As String = .Cols(.Colsel).Name
Dim Index As Integer = -1
if .Cols(.Colsel).IsNumeric
    Index = .FindRow( dr & " = " & Val , .Position + 1,True)
elseif .Cols(.Colsel).IsString
Index = .FindRow( dr & " = \'" & Val & "\'", .Position + 1,True)
end if
    If Index >= 0 Then
        .Position = Index
    End If
End With