Foxtable(狐表)用户栏目专家坐堂 → 程序理解问题


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

主题:程序理解问题

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


加好友 发短信
等级:婴狐 帖子:24 积分:261 威望:0 精华:0 注册:2023/11/6 20:32:00
程序理解问题  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107014 积分:544295 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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编辑过]

 回到顶部