Foxtable(狐表)用户栏目专家坐堂 → 按工作流过滤表单数据的问题


  共有9907人关注过本帖平板打印复制链接

主题:按工作流过滤表单数据的问题

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
按工作流过滤表单数据的问题  发帖心情 Post By:2012/9/9 16:23:00 [只看该作者]

请教狐爸,昨天问的这个问题可能我没有表述清楚,还没有解决,现在重新组织一下:

 

如下图: 当点击目录树订单下的审核时,就从订单表中找到“订单编号”在“单据审批记录”中的“编号”列的那些订单显示出来。

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20120909-001.jpg
图片点击可在新窗口打开查看

 

 

 因为每个表使用的编号列名称是不一样的,订单用订单编号,生产单用生产单编号,采购单用采购单编号,为了实现代码通用。我设计了如下的“系统表”把每一个表使用的“单据编号列”都指定了。这样当在目录树选择不同的表的不同流程时就可以动态的到这个表中去提取其指定编号列的值,存在于“单据审批记录”中的对应的“编号”列的那些编号的数据行就显示出来。 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20120909-002.jpg
图片点击可在新窗口打开查看

 

点击订单下的审核时会出现以下错误提示:

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20120910-001.jpg
图片点击可在新窗口打开查看

代码如下:

Dim Filter As String
Dim Value()As String
Value = e.Node.FullPath.Split("\")
Select Case e.Node.Level
    Case 0
        Tables(e.Node.Text).Filter = ""
        MainTable = Tables(e.Node.Text)
        DataTables.AllowEdit = True
    Case 1
        '得到单据审批记录表中未结束的父节点表单的编号
        Dim nms As String
        nms = DataTables("单据审批记录").GetComboListString("编号","表名= '" & e.Node.ParentNode.Text & "' and 结束 = false")
        If nms > "" Then
            nms = "'" & nms.replace("|","','")  & "'"
            '从系统表中得到当前父节点的表使用的单据编号列的名称,然后过滤得到编号在单据审批记录中的表.
            Dim dr As DataRow = DataTables("系统表").Find("表名 = '" & e.Node.ParentNode.Text & "'")
            If dr IsNot Nothing Then
                Dim num As String = dr("单据编号列")
                   Tables(e.Node.ParentNode.Text).Filter = dr("单据编号列") & "In (" & nms & ")"
                MainTable = Tables(e.Node.ParentNode.Text)
                DataTables.AllowEdit = True
            End If
        End If
End Select

 

应该就是上面红色的代码那里还要增加一点才可以,但我弄了很久也不能实现目的,请指点;

 

谢谢!

[此贴子已经被作者于2012-9-10 8:37:01编辑过]

 回到顶部
总数 13 1 2 下一页