以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  PositionChanged  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=75765)

--  作者:qinlao666
--  发布时间:2015/10/14 14:38:00
--  PositionChanged

For Each pdr As DataRow In DataTables("采购主表").DataRows
    Dim drs As List(Of DataRow) = pdr.GetChildRows("采购明细")
    pdr("是否送检") = False
    For Each dr As DataRow In drs
        If dr("是否送检") = True Then
            pdr("是否送检") = True
            Exit For
        End If
    Next
Next

在PositionChanged输入以上代码,满足条件的行始终是处于修改的状态(如图)。

即使是保存后,然后再点击表中任何个位置,又变回了修改的状态。

请老师帮我看看,如何才能保存

 


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

--  作者:大红袍
--  发布时间:2015/10/14 14:41:00
--  
那你就不要加上这段代码啊,看不懂你为什么
--  作者:大红袍
--  发布时间:2015/10/14 14:42:00
--  
上传例子,直接说你要做的功能。
--  作者:qinlao666
--  发布时间:2015/10/14 15:43:00
--  

For Each pdr As DataRow In DataTables("采购主表").DataRows
    Dim drs As List(Of DataRow) = pdr.GetChildRows("采购明细")
    pdr("是否送检") = True
    For Each dr As DataRow In drs
        If dr("是否送检") = False Then
            pdr("是否送检") = False
            Exit For
        End If
    Next
Next

 

代码应该是这样的。

 

当采购明细表中“是否送检”列全为真时,采购主表的“是否送检”自动为真,否则采购主表的“是否送检都为假

 

上面的代码能实现我要的功能,但是当采购主表的“是否送检”列为假是,这行记录就始终是修改状态


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

--  作者:大红袍
--  发布时间:2015/10/14 15:52:00
--  

Dim pdr As DataRow = e.Table.Current.DataRow
Dim drs As List(Of DataRow) = pdr.GetChildRows("采购明细")
Dim flag As Boolean = True
For Each dr As DataRow In drs
    If dr("是否送检") = False Then
        flag = False
        Exit For
    End If
Next
pdr("是否送检") = flag