Foxtable(狐表)用户栏目专家坐堂 → [求助]数据更改后其他表单数据不会更改


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

主题:[求助]数据更改后其他表单数据不会更改

帅哥哟,离线,有人找我吗?
紫色幽魂
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
[求助]数据更改后其他表单数据不会更改  发帖心情 Post By: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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/3 18:20:00 [只看该作者]

事件里面加入msgbox,看是否弹出

 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
回复:(有点甜)事件里面加入msgbox,看是否弹出  发帖心情 Post By:2018/8/5 16:31:00 [只看该作者]

好像是行状态锁定了就不能更改,解锁后再试就可以了,有什么方法可以解决

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/5 20:46:00 [只看该作者]

以下是引用紫色幽魂在2018/8/5 16:31:00的发言:
好像是行状态锁定了就不能更改,解锁后再试就可以了,有什么方法可以解决

 

没看懂你的问题。你如何加入msgbox的,msgbox弹出了什么?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/5 20:47:00 [只看该作者]

具体问题,做个例子发上来测试。

 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
回复:(有点甜)具体问题,做个例子发上来测试。  发帖心情 Post By:2018/8/6 0:20:00 [只看该作者]

测试了多次,有的时候数据没有加载,加载了数据后可以修改,但是有的时候数据加载了也不能修改,代码都能够正常执行,但是执行后没有效果就像执行一样,数据没有改动,不知道是不是下面这段代码有问题呢
                    For Each dr1 As DataRow In drs1
                        dr1("班组") = e.DataRow("班组") 
                    Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/6 8:59:00 [只看该作者]

1、加入msgbox了没有?msgbox(drs1.count)弹出什么?对于怀疑有问题的地方,都加上msgbox弹出看看。

 

2、做实例发上来测试。


 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
回复:(有点甜)1、加入msgbox了没有?msgbox(drs1.c...  发帖心情 Post By:2018/8/6 9:24:00 [只看该作者]

加入了,但是不怎么会用,也就是看运行到哪一步了,这样加的:msgbox(1),msgbox(2)这样,在for each中间加入了一行行数显示代码,是正常的
                For Each dr1 As DataRow In drs1
                    dr1("班组") = e.DataRow("班组") 
                    msgbox(drs1.Count)
                Next
单独做个示例可能又可以没有问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/6 9:27:00 [只看该作者]

1、试试加入systemready

 

http://www.foxtable.com/webhelp/scr/2218.htm

 

2、贴出你加入的msgbox,以及弹出的信息分别是什么


 回到顶部