以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]窗口中的Table是一个关联表,如何判断Current当前行的子行是否有数据修改过? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114377)
|
-- 作者:linyunu
-- 发布时间:2018/2/5 2:05:00
-- [求助]窗口中的Table是一个关联表,如何判断Current当前行的子行是否有数据修改过?
窗口中的Table是一个关联表,如何判断Current当前行的子行是否有数据修改过?
[此贴子已经被作者于2018/2/5 2:06:00编辑过]
|
-- 作者:有点甜
-- 发布时间:2018/2/5 8:49:00
--
Dim r As Row = Tables("表A").current For Each dr As DataRow In r.DataRow.GetChildRows("表B") If dr.RowState <> DataRowState.Unchanged Then msgbox("新增或修改了") Exit For End If Next
|
-- 作者:linyunu
-- 发布时间:2018/2/5 12:19:00
--
Dim r As Row = Tables("出库").current If r IsNot Nothing Then If r.DataRow.RowState = DataRowState.Unchanged Then For Each dr As DataRow In r.DataRow.GetChildRows("出库明细") If dr.RowState = DataRowState.Unchanged Then Tables("出库").Position = Tables("出库").Position = 0 Exit For End If Next End If End If
老师,麻烦看下哪里出错了
|
-- 作者:有点甜
-- 发布时间:2018/2/5 12:23:00
--
你这段代码要实现什么?
你这个代码什么意思?
Tables("出库").Position = Tables("出库").Position = 0
你要这样?
Tables("出库").Position = 0
|
-- 作者:linyunu
-- 发布时间:2018/2/5 12:31:00
--
此主题相关图片如下:qq截图20180205122756.jpg
首单的点击代码
判断是否有过修改,没有就执行代码
|
-- 作者:有点甜
-- 发布时间:2018/2/5 14:37:00
--
Dim r As Row = Tables("出库").current
Dim changed As Boolean = false If r IsNot Nothing Then If r.DataRow.RowState <> DataRowState.Unchanged Then For Each dr As DataRow In r.DataRow.GetChildRows("出库明细") If dr.RowState <> DataRowState.Unchanged Then changed = true Exit For End If Next End If End If
If changed = false then
msgbox(123)
Tables("出库").Position = 0
else
msgbox("修改了")
End If
[此贴子已经被作者于2018/2/5 14:38:05编辑过]
|
-- 作者:linyunu
-- 发布时间:2018/2/5 21:31:00
--
老师,你的代码我试了一直不可以
以下代码就可以 ;如果父行和子行都未曾修改,就执行代码。不知道这个代码有没有错误,在网络多用户同时使用的这个窗口的情况下,【Tables("出库.出库明细").CanUndo】这个代码判断会有影响吗?
With Tables("出库") If .Current IsNot Nothing And e.Form.Controls("Panelsj").Enabled = False Then If .Current.DataRow.RowState = DataRowState.Unchanged Then \'如果当前行未曾修改 If Tables("出库.出库明细").CanUndo = False Then .Position = .Position = 0 End If End If End If End With
|
-- 作者:有点蓝
-- 发布时间:2018/2/5 21:49:00
--
CanUndo只能判断本地窗口的编辑状态,对其它用户没有影响,也不会受其它用户影响
|
-- 作者:linyunu
-- 发布时间:2018/2/5 22:26:00
--
好的,谢谢老师的解答
|