Foxtable(狐表)用户栏目专家坐堂 → 请老师帮忙:DataColChanged先保存再自动更新的问题


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

主题:请老师帮忙:DataColChanged先保存再自动更新的问题

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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
请老师帮忙:DataColChanged先保存再自动更新的问题  发帖心情 Post By:2015/10/28 1:05:00 [显示全部帖子]

老师,在DataColChanged,当前表(“基本资料”)发生变化时,"资料明细"表数据自动更新;我想改为当前表(“基本资料”)保存后"资料明细"表再数据自动更新,下面的代码如何改?
Select Case e.DataCol.name
    Case "简称"
        Dim dr As DataRow = DataTables("资料明细").Find("简称 = '" & e.OldValue & "'")
        If dr Is Nothing Then
            dr = DataTables("资料明细").AddNew()
            dr("简称") = e.DataRow("简称")
            dr("中文简称") = e.DataRow("中文简称")
            dr("区域") = e.DataRow("区域")
            dr("名称") = e.DataRow("名称")
            dr("纳税人类型") = e.DataRow("纳税人类型")
            dr("行业类型") = e.DataRow("行业类型")
            dr("所得税类型") = e.DataRow("所得税类型")
            dr("中文简称") = e.DataRow("中文简称")
        Else
            dr("简称") = e.DataRow("简称")
        End If
    Case "区域","名称","纳税人类型","行业类型","所得税类型","中文简称"
        Dim dr As DataRow = DataTables("资料明细").Find("简称 = '" & e.DataRow("简称") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select


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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
  发帖心情 Post By:2015/10/28 9:21:00 [显示全部帖子]

老师,我这些代码就是在DataColChanged事件中的,出现最大问题是我在录当前表(基本资料)时,有时发现某个单元格录错了但没有保存之前先删除错的重新录,然后把正确的保存,发现“资料明细”表(自动的)把错的自动保存一行错的,正确的保存一行,要解决的问题是错的信息不应自动保存

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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
  发帖心情 Post By:2015/10/28 9:29:00 [显示全部帖子]

我想这样做但错的
If e.DataRow.Save=True Then
Select Case e.DataCol.name
    Case "简称"
        Dim dr As DataRow = DataTables("资料明细").Find("简称 = '" & e.OldValue & "'")
        If dr Is Nothing Then
            dr = DataTables("资料明细").AddNew()
            dr("简称") = e.DataRow("简称")
            dr("中文简称") = e.DataRow("中文简称")
            dr("区域") = e.DataRow("区域")
            dr("名称") = e.DataRow("名称")
            dr("纳税人类型") = e.DataRow("纳税人类型")
            dr("行业类型") = e.DataRow("行业类型")
            dr("所得税类型") = e.DataRow("所得税类型")
            dr("中文简称") = e.DataRow("中文简称")
        Else
            dr("简称") = e.DataRow("简称")
        End If
    Case "区域","名称","纳税人类型","行业类型","所得税类型","中文简称"
        Dim dr As DataRow = DataTables("资料明细").Find("简称 = '" & e.DataRow("简称") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select
end if

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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
  发帖心情 Post By:2015/10/28 9:33:00 [显示全部帖子]

是放在最后吗

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


加好友 发短信
等级:小狐 帖子:356 积分:2314 威望:0 精华:0 注册:2014/10/4 9:38:00
  发帖心情 Post By:2015/10/28 9:39:00 [显示全部帖子]

可以了,有老师指点真好!谢谢!

 回到顶部