Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:程序理解问题

1楼
侠客1985 发表于:2024/2/2 18:45:00
老师在帮助文档“事件中的父表与子表”实例4

If e.DataCol.name = "审核" Then
    Dim pr As DataRow = e.DataRow.GetParentRow("
订单")
    If pr IsNot Nothing Then
        Dim crs As List(of DataRow) = pr.GetChildRows("
订单明细")
        Dim cnt As Integer
        For Each cr As DataRow In crs
            If cr("
审核") = True
                cnt = cnt + 1
            End If
        Next
        pr("
审核") = (crs.Count = cnt)
    End If
End
If

例子中: pr("审核") = (crs.Count = cnt) 表示什么意思啊,程序看得不太懂?
2楼
有点蓝 发表于:2024/2/3 8:41:00
crs来自【Dim crs As List(of DataRow) = pr.GetChildRows("订单明细")】,GetChildRows表示子表的关联行,那么【crs.Count】就是所有子表关联行的行数,cnt来自【 If cr("审核") = True cnt = cnt + 1】,表示勾选了审核的行数,如果【crs.Count = cnt】,那么结果就是true,就表示所有子表关联行都已经审核,那么父表的审核也应该勾选

换种方式写代码,可能会清晰一点

dim 全部审核 as boolean
if crs.Count = cnt then
全部审核=true
else
全部审核=false
end if
pr("审核") = 全部审核

[此贴子已经被作者于2024/2/3 8:40:54编辑过]
共2 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01953 s, 2 queries.