以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  订单表按订单完成是否锁定就把下面所有订单编号表锁定  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101813)

--  作者:binabc2004
--  发布时间:2017/6/7 16:17:00
--  订单表按订单完成是否锁定就把下面所有订单编号表锁定
大家好!
   想请问大家,订单表有一列订单完成是否,如果选定为√就锁定订单编号关联订单子表行,应该如何设置锁定键和解锁定键。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试表.rar



--  作者:有点色
--  发布时间:2017/6/7 16:49:00
--  

DataColChanging事件

 


If e.DataCol.Name = "订单完成是否" Then \'如果是已结帐列的内容变动
    If e.NewValue = True Then \'而且变动后的值是True(已勾选)
        e.DataRow.Locked = True \'那么锁定此行
    End If
    Dim tns() As String = {"成衣部位表","辅料表"}
    For Each tn As String In tns
        For Each cdr As DataRow In e.DataRow.GetChildRows(tn)
            cdr.Locked = e.NewValue
        Next
    Next
End If


--  作者:binabc2004
--  发布时间:2017/6/7 19:57:00
--  
谢谢,还有如何写解除订单编号下所有锁定啊。
--  作者:有点色
--  发布时间:2017/6/7 20:21:00
--  

按钮click事件

 

Dim t As Table = Tables("订单表")
Dim tns() As String = {"成衣部位表","辅料表"}
t.current.Locked = False
t.Current("订单完成是否") = False
For Each tn As String In tns
    For Each cdr As DataRow In t.current.DataRow.GetChildRows(tn)
        cdr.Locked = False
    Next
Next