请教狐爸,昨天问的这个问题可能我没有表述清楚,还没有解决,现在重新组织一下:
如下图: 当点击目录树订单下的审核时,就从订单表中找到“订单编号”在“单据审批记录”中的“编号”列的那些订单显示出来。
此主题相关图片如下:360截图20120909-001.jpg
![dvubb 图片点击可在新窗口打开查看](UploadFile/2012-9/2012991554762352.jpg)
因为每个表使用的编号列名称是不一样的,订单用订单编号,生产单用生产单编号,采购单用采购单编号,为了实现代码通用。我设计了如下的“系统表”把每一个表使用的“单据编号列”都指定了。这样当在目录树选择不同的表的不同流程时就可以动态的到这个表中去提取其指定编号列的值,存在于“单据审批记录”中的对应的“编号”列的那些编号的数据行就显示出来。
此主题相关图片如下:360截图20120909-002.jpg
![dvubb 图片点击可在新窗口打开查看](UploadFile/2012-9/201299160274505.jpg)
点击订单下的审核时会出现以下错误提示:
此主题相关图片如下:360截图20120910-001.jpg
![dvubb 图片点击可在新窗口打开查看](UploadFile/2012-9/20129108361844168.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编辑过]