Foxtable(狐表)用户栏目专家坐堂 → 自定义函数出错


  共有2723人关注过本帖树形打印复制链接

主题:自定义函数出错

帅哥哟,离线,有人找我吗?
ZJZK2018
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
自定义函数出错  发帖心情 Post By:2019/3/22 11:58:00 [显示全部帖子]

我在AfterLoad事件中写入下面函数,有时候会出现提示错误:

Functions.Execute("AfterLoad_TZ_Load_e",e)  '根据系统编号表数据进行加载
Functions.Execute("AfterLoad_GDSZ_e",e)     '窗口滚动状态栏设置
Functions.Execute("CKBLMK_AfterLoad_e",e)    '窗口表指列宽设置提取
Functions.Execute("CK_Table_hgsz",e)    '窗口表行高及居中设置
Functions.Execute("CK_Table_HJAll_e",e)   '窗口表显示合计模式

自定义函数“AfterLoad_TZ_Load_e”

''=======根据系统编号表数据进行加载========
Dim e As Object = Args(0)
Dim tb As Table = Tables(e.Form.Name & "_Table1")
Dim stbh As String = DataTables("系统编号").GetComboListString("系统编号")
stbh = stbh.Replace("|","','")
If stbh > "" Then
    tb.DataTable.LoadFilter = "系统编号 In ('" & stbh & "')"
    tb.DataTable.Load()
End If

出现提示错误:

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






 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2019/3/22 17:40:00 [显示全部帖子]

请老师帮我审核一下,哪里有错误?
我在表全局currentchanged事件写:

If CurrentTable.Name <> "合同管理台帐_Table5" OrElse CurrentTable.Name <> "合同管理台帐_Table1"  Then  
    If e.Table.Current Is Nothing Then '如果Current为Nothing
        Return
    Else
        Dim dr As DataRow = e.Table.Current.DataRow
        Dim tb As Table = Tables(e.Table.DataTable.Name)
        Dim wz As Integer = tb.FindRow(dr)
        If wz >= 0 Then
            Systemready = False
            tb.Position = wz
            Systemready = True
        End If
    End If
End If

在表事件CurrentChanged中

'关联表同步加载
If e.Table.Current IsNot Nothing Then
    Dim filt As String = "系统编号 = '" & e.Table.Current("系统编号") & "'"
    Dim nms() As String = {"项目联系人","资料明细","任务分配"}   '表名称
    For Each nm As String In nms
        If DataTables(nm).Find(filt) Is Nothing Then
            DataTables(nm).AppendLoad(filt)
        End If
    Next
End If

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2019/5/15 16:00:00 [显示全部帖子]

我想把下面这段代码中红色部分进行自定义函数,但不知道如何引用函数中filter这个值到另一段代码中?
函数名称:fyflt
Dim e As Object = Args(0)
Dim Filter As String = Args(1)  

'Dim Filter As String
If
e.node.Text = "加载所有数据" Then
    Filter =
""

Else

    Dim dr As DataRow = e.Node.DataRow
   
Select Case e.Node.Level
        Case 0
            Filter =
"[
产品] = '" & dr("产品") & "'"
        Case 1
            Filter =
"[
产品] = '" & dr("产品") & "' And [客户] = '" & dr("客户") & "'"
    End
Select

End
If



Functions.Execute("fyflt",e,filter)



With
DataTables("订单")
    .LoadFilter = Filter
'
设置加载条件
    .LoadPage = 0
'
加载第一页
    .LoadTop = 5
'
每页5
    .Load()
    e.Form.Controls("TextBox1").Value = 1 & "/" & .
TotalPages

End
With


 回到顶部