以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]数据更改后其他表单数据不会更改 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122897) |
-- 作者:紫色幽魂 -- 发布时间:2018/8/3 18:11:00 -- [求助]数据更改后其他表单数据不会更改 代码写在DataColChanged这里,数据更改后并没有执行,请问是为什么,哪儿错了 Dim Filter As String = "检验批编号 = \'" & e.DataRow("检验批编号") & "\'" Dim Filter1 As String = "检验批编号 = \'" & e.DataRow("检验批编号") & "\'and 班组 <> \'"& "下料" &"\'" Dim drs1 As List(Of DataRow) = DataTables("无损_构件清单").Select(Filter) Dim drs2 As List(Of DataRow) = DataTables("无损_检测明细").Select(Filter) Dim drs3 As List(Of DataRow) = DataTables("无损_检测明细").Select(Filter1) Select Case e.DataCol.Name Case "检验批","报告编号_利光","报告编号_钢构" For Each dr1 As DataRow In drs1 dr1("检验批") = e.DataRow("检验批") dr1("报告编号_利光") = e.DataRow("报告编号_利光") dr1("报告编号_钢构") = e.DataRow("报告编号_钢构") Next For Each dr2 As DataRow In drs2 dr2("检验批") = e.DataRow("检验批") dr2("报告编号_利光") = e.DataRow("报告编号_利光") dr2("报告编号_钢构") = e.DataRow("报告编号_钢构") Next Case "车间" Dim Result As DialogResult = MessageBox.Show("是否将明细表数据全部更改(不包含下料组)","提示",MessageBoxButtons.YesNo) For Each dr1 As DataRow In drs1 dr1("车间") = e.DataRow("车间") Next If Result = DialogResult.Yes Then For Each dr2 As DataRow In drs2 dr2("车间") = e.DataRow("车间") Next Else Return End If Case "班组" If e.DataRow.OriginalValue("班组") Is Nothing Then Return Else Dim Result As DialogResult = MessageBox.Show("是否将明细表数据全部更改(不包含下料组)","提示",MessageBoxButtons.YesNo) If Result = DialogResult.Yes Then For Each dr3 As DataRow In drs3 For Each dr1 As DataRow In drs1 dr1("班组") = e.DataRow("班组") \'修改构件清单表 Next dr3("班组") = e.DataRow("班组") \'修改检测明细表(不包含班组等于下料组的行) Next ElseIf Result = DialogResult.No Then For Each dr1 As DataRow In drs1 dr1("班组") = e.DataRow("班组") Next Else Return End If End If End Select |
-- 作者:有点甜 -- 发布时间:2018/8/3 18:20:00 -- 事件里面加入msgbox,看是否弹出 |
-- 作者:紫色幽魂 -- 发布时间:2018/8/5 16:31:00 -- 回复:(有点甜)事件里面加入msgbox,看是否弹出 好像是行状态锁定了就不能更改,解锁后再试就可以了,有什么方法可以解决 |
-- 作者:有点甜 -- 发布时间:2018/8/5 20:46:00 -- 以下是引用紫色幽魂在2018/8/5 16:31:00的发言:
好像是行状态锁定了就不能更改,解锁后再试就可以了,有什么方法可以解决
没看懂你的问题。你如何加入msgbox的,msgbox弹出了什么? |
-- 作者:有点甜 -- 发布时间:2018/8/5 20:47:00 -- 具体问题,做个例子发上来测试。 |
-- 作者:紫色幽魂 -- 发布时间:2018/8/6 0:20:00 -- 回复:(有点甜)具体问题,做个例子发上来测试。 测试了多次,有的时候数据没有加载,加载了数据后可以修改,但是有的时候数据加载了也不能修改,代码都能够正常执行,但是执行后没有效果就像执行一样,数据没有改动,不知道是不是下面这段代码有问题呢 For Each dr1 As DataRow In drs1 dr1("班组") = e.DataRow("班组") Next |
-- 作者:有点甜 -- 发布时间:2018/8/6 8:59:00 -- 1、加入msgbox了没有?msgbox(drs1.count)弹出什么?对于怀疑有问题的地方,都加上msgbox弹出看看。
2、做实例发上来测试。 |
-- 作者:紫色幽魂 -- 发布时间:2018/8/6 9:24:00 -- 回复:(有点甜)1、加入msgbox了没有?msgbox(drs1.c... 加入了,但是不怎么会用,也就是看运行到哪一步了,这样加的:msgbox(1),msgbox(2)这样,在for each中间加入了一行行数显示代码,是正常的 For Each dr1 As DataRow In drs1 dr1("班组") = e.DataRow("班组") msgbox(drs1.Count) Next 单独做个示例可能又可以没有问题 |
-- 作者:有点甜 -- 发布时间:2018/8/6 9:27:00 -- 1、试试加入systemready
http://www.foxtable.com/webhelp/scr/2218.htm
2、贴出你加入的msgbox,以及弹出的信息分别是什么 |