Foxtable(狐表)用户栏目专家坐堂 → e.datacolchanged事件和e.datacolchanging事件的问题


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

主题:e.datacolchanged事件和e.datacolchanging事件的问题

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


加好友 发短信
等级:六尾狐 帖子:1229 积分:8566 威望:0 精华:0 注册:2016/2/2 21:52:00
e.datacolchanged事件和e.datacolchanging事件的问题  发帖心情 Post By:2020/11/3 14:18:00 [只看该作者]

下面这段代码,在修改指标名称字段后,弹出提示, 用户点是,则允许修改字字段值并且修改关联表, 点否则不允许修改字段值也不修改关联表,但是现在写在datacolchanging事件中,点是,始终不能为新值, 不知道要怎么弄了

If e.DataCol.Name = "指标名称" Then '如果更改的是身份证号码列
      
     Dim Result As DialogResult
     Result = MessageBox.Show("与此指标关联的对象都会受到影响,是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
     If Result = DialogResult.Yes Then       '如果点的是
'msgbox("Y")
          Dim dr As DataRow = DataTables("医疗业务报表指标关联表").SQLFind("指标名称 = '" & e.OldValue & "'" )
          If dr IsNot Nothing Then         '如果有符合条件的记录
            dr("指标名称")=e.NewValue       '同意变动, 则关联表赋新值
            dr.Save
            e.DataRow("指标名称")=e.NewValue
            e.DataRow.Save         '保存主表指标名称字段为修改后的值,避免在界面上不点保存,点刷新时, 关联表已被修改了,而主表字段被还原   ;  这句没用
          End If
     Else          '如果点的否
'msgbox("N")
          'dr("指标名称")=e.OldValue           '不同意变动还原成旧值,这里用e.cancel=true没用,变都变了
          e.Cancel=True  
     End If


End If

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/3 14:21:00 [只看该作者]

代码没有问题,关联表直接改的数据库,界面要显示新值需要重新加载数据才行

 回到顶部