以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  模拟关联表逻辑列勾选问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83980)

--  作者:douglas738888
--  发布时间:2016/4/20 16:12:00
--  模拟关联表逻辑列勾选问题
请教老师,例子如下:

一个窗口的模拟父表是SQLtable类型,模拟子表是明细表A正本,已用代码形成模拟关联。

问题:如何实现SQLtable对应的表A行的逻辑列全部勾选后,SQLtable的 “审批完成” 逻辑列自动勾选

Dim pr As DataRow
For Each dr As DataRow In DataTables("表A").DataRows
    If dr("审核完成") = True Then
        pr = dr.GetParentrow("窗口1_Table1")   \'SQL表
        If pr IsNot Nothing Then
            pr("审核完成") =True
        End If
    End If
Next

--  作者:大红袍
--  发布时间:2016/4/20 16:15:00
--  
Dim pr As DataRow
For Each dr As DataRow In DataTables("表A").DataRows
    If dr("审核完成") = True Then
        pr = DataTables("窗口1_Table1").find("某列 = \'" & dr("某列") & "\'")
        If pr IsNot Nothing Then
            pr("审核完成") =True
        End If
    End If
Next

--  作者:douglas738888
--  发布时间:2016/4/20 16:49:00
--  
老师,我只勾选模拟子表的任意一行,父表就勾选了
忘记说明了,子表是由父表的几个列由横表转换我垂直表用来审核的

Dim pr As DataRow
For Each dr As DataRow In DataTables("表A").DataRows
    If dr("审核完成") = True Then
        pr = DataTables("窗口1_Table1").find("索引号 = \'" & dr("索引号") & "\'")
        If pr IsNot Nothing Then
            pr("审核完成") =True
        End If
    End If
Next

[此贴子已经被作者于2016/4/20 16:54:08编辑过]

--  作者:大红袍
--  发布时间:2016/4/20 17:09:00
--  
Dim pr As DataRow
Dim cr As Row = Tables("表A").current
Dim c1 As integer = cr.Table.Compute("count(索引号)", "索引号 = \'" & cr("索引号") & "\'")
Dim c2 As integer = cr.Table.Compute("count(索引号)", "索引号 = \'" & cr("索引号") & "\' and 审核完成 = true")
pr = DataTables("窗口1_Table1").find("索引号 = \'" & cr("索引号") & "\'")
If pr IsNot Nothing Then
    pr("审核完成") = (c1 = c2)
End If