Foxtable(狐表)用户栏目专家坐堂 → 【代码求助】如何锁定子表对应行?


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

主题:【代码求助】如何锁定子表对应行?

帅哥哟,离线,有人找我吗?
卧美吻花
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:187 积分:1469 威望:0 精华:0 注册:2012/6/8 9:34:00
【代码求助】如何锁定子表对应行?  发帖心情 Post By:2012/12/22 12:11:00 [只看该作者]

有一个订单表,一个订单详情表

代码如下:
    Dim drs As List(of DataRow)
    drs = e.DataRow.GetChildRows("订单详情表")
    For Each dr As DataRow In drs
       
10          dr("状态列") = "锁"
20          Tables("订单详情表").Rows(dr).Locked = True
30         drs("订单详情表").locked = True 
    Next
       
10行运行正常
20或者30行会报错,无法运行

求解。。。。。。。。。



另外,已经反反复复看过帮助文件了,别怪我懒啊图片点击可在新窗口打开查看
[此贴子已经被作者于2012-12-22 12:11:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
客家阿哥
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5932 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2012/12/22 12:37:00 [只看该作者]

我是这样处理的,看看有没有用?

---------------------------

If Tables("出库单.出库明细").Rows.Count = 0 Then
    MessageBox.Show("当前没有出库明细!")
    Return
End If
Dim dr As DataRow= Tables("出库单").Current.DataRow()
If dr.IsNull("业务员") Or dr.IsNull("业务类型") Then
    MessageBox.Show("请正确选择正确的业务员和业务类型!")
Else
    For Each r As Row In Tables("出库单.出库明细").Rows
        If r.IsNull("小计")Then
            Tables("出库单").Current.Locked=False
            MessageBox.Show("出库明细小计不能为空")
            r.Locked=False
            Return
        Else
            r.Save
            r.Locked = True
            If dr("结清") = True Then
                r("结清")= True
            Else
                r("结清")= False
            End If
            Tables("出库单").Current.Save
            Tables("出库单").Current.Locked=True
        End If
    Next
    If dr("结清") = True Then
        dr("收到货款")= dr("货款合计")
    Else
        dr("收到货款")= 0
    End If


 回到顶部
帅哥哟,离线,有人找我吗?
卧美吻花
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:187 积分:1469 威望:0 精华:0 注册:2012/6/8 9:34:00
  发帖心情 Post By:2012/12/22 13:29:00 [只看该作者]

谢谢客家阿哥,根据你的代码修改了一下,ok了图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/22 13:34:00 [只看该作者]

 
Tables("订单详情表").Rows(Tables("订单详情表").FindRows(dr)).Locked = True


 回到顶部