以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Foxtable.DataRow”的对象强制转换为类型“Foxtable.Row  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133950)

--  作者:蓝蚂蚁
--  发布时间:2019/4/24 9:02:00
--  Foxtable.DataRow”的对象强制转换为类型“Foxtable.Row

.NET Framework 版本:2.0.50727.5466
Foxtable 版本:2019.4.12.1
错误所在事件:来货快速录入表,ChangeEdit
详细错误信息:
无法将类型为“Foxtable.DataRow”的对象强制转换为类型“Foxtable.Row”

 

 

按帮助中的自定义录入界面之三的做法,偶尔会出现上面的提示,另外一个就是有时候提示在ChangeEdit,有时会在DropDownOpened


--  作者:有点甜
--  发布时间:2019/4/24 9:10:00
--  
贴出你 ChangeEdit 事件的代码
--  作者:蓝蚂蚁
--  发布时间:2019/4/24 9:24:00
--  

ChangeEdit 事件的代码

Dim psgs As String=Forms("来货录入小窗口").controls("DropBox1").text
If e.Col.Name = "中标号或编号" Then \'如果编辑的是客户ID列
    If e.Col.DroppedDown Then \'如果下拉窗口已经打开
        Dim tbl As Table = Tables("来货快速录入弹出筛选窗口_Table1")
        If e.Text = "" Then \'如果内容为空
            tbl.Filter = "" \'显示所有客户
        Else \'否则根据输入内容进行模糊筛选
            Dim txt As String = "\'%" & e.Text & "%\'"
            \' tbl.Filter = "配送公司=\'"& psgs &"\' And (中标号或编号 Like " & txt & " Or 通用名称 Like " & txt & " Or 规格型号 Like " & txt.replace("*", "[*]")  & "  Or 生产企业 Like " & txt &" Or 简码 Like " & txt & ")"
            Dim mf As String=  "配送公司=\'"& psgs &"\' And (中标号或编号 Like " & txt & " Or 通用名称 Like " & txt & " Or 规格型号 Like " & txt.replace("*", "[*]")  & "  Or 生产企业 Like " & txt &" Or 简码 Like " & txt & ")"
            Dim drs = tbl.DataTable.Select(mf, "计划日期 desc")
            Dim filter As String = "1=2"
            If drs.count >= 5 Then
                For i As Integer = 0 To 4
                    filter &= " or _Identify = " & drs(i)("_Identify")
                Next
            Else
                For Each r As Row In drs
                    filter &= " or _Identify = " & r("_Identify")
                Next
            End If
            tbl.filter = filter
            tbl.sort="计划日期 DESC"
        End If
    End If
End If
If e.Col.Name = "注册证号" Then \'如果编辑的是客户ID列
    If e.Col.DroppedDown Then \'如果下拉窗口已经打开
        Dim tbl As Table = Tables("输入注册证号弹出筛选窗口_Table1")
        If e.Text = "" Then \'如果内容为空
            tbl.Filter = "" \'显示所有客户
        Else \'否则根据输入内容进行模糊筛选
            Dim txt As String = "\'%" & e.Text & "%\'"
            \'tbl.Filter = "注册证号 Like " & txt & "  Or 生产企业 Like " & txt & " Or 名称 Like " & txt & " Or 规格型号 Like " & txt &""
            tbl.Filter = "停用=false and 配送公司=\'" & e.Row("配送公司")& "\' and (名称 Like " & txt & " Or 注册证号 Like " & txt & " Or 生产企业 Like " & txt & ")"
        End If
    End If
End If


--  作者:蓝蚂蚁
--  发布时间:2019/4/24 9:25:00
--  
在“中标号或编号”中输入数据时出现提示的错误。
[此贴子已经被作者于2019/4/24 9:25:35编辑过]

--  作者:有点甜
--  发布时间:2019/4/24 10:57:00
--  

For Each r As Row In drs

 

改成

 

For Each r As dataRow In drs