Foxtable(狐表)用户栏目专家坐堂 → 求助]关于表属性里的datacolchanged事件


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

主题:求助]关于表属性里的datacolchanged事件

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
求助]关于表属性里的datacolchanged事件  发帖心情 Post By:2011/8/17 12:00:00 [只看该作者]

事件里最下面 有这样一段代码

 

Select Case e.DataCol.name
    Case "当前里程","最后进店日期","底盘号"
        Dim yq As DataRow = e.DataRow
        If e.OldValue <> e.NewValue  AndAlso e.NewValue IsNot Nothing Then
            Dim lc As DataRow = DataTables("历史进店记录").AddNew()
            lc("当前里程") = yq("当前里程")
            lc("进店时间") = yq("最后进店日期")
            lc("底盘号")  = yq("底盘号")
        End If
End Select

 

有问题  我其实是想实现 这样的功能

如果在客户档案表里更改了 最后进店日期 和 当前里程数据 (这2项是必改的,底盘号不需要改)

 

则自动在 历史进店记录 里增加一行   且 引用客户档案里更改后的   最后进店日期  ,当前里程 和 未更改的底盘号

 

 

现在这段代码 只要更改一列数据 就会增加一行

而我每次要更改  最后进店日期  和 当前里程  2列数据  也就增加了2行

 

请问如何优化这一代码!!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:内控系统4.rar

[此贴子已经被作者于2011-8-17 12:50:00编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/17 13:54:00 [只看该作者]

自己顶一下~~


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/17 14:18:00 [只看该作者]

你这是为难系统了,系统怎么知道你是要修改一列,还是要修改两列? 怎么知道你已经修改完毕?

 

提议:

 

1、做个修改窗口,用于修改着两列数据

2、窗口价格确定按钮,单击此按钮保存修改并向历史进店记录表增加一行。


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/17 15:01:00 [只看该作者]

我现在做了一个变通

代码如下

Select Case e.DataCol.name
    Case "当前里程"
        Dim yq As DataRow = e.DataRow
        If e.OldValue <> e.NewValue  AndAlso e.NewValue IsNot Nothing Then
            Dim lc As DataRow = DataTables("历史进店记录").AddNew()
            lc("当前里程") = yq("当前里程")
            lc("进店时间") = yq("最后进店日期")
            lc("底盘号")  = yq("底盘号")
        End If
End Select

只是需要最后修改里程

 

现在能否 建立一个规则  必须先更改日期后 才能输入里程  

以防先更改里程 导致日期是旧日期

[此贴子已经被作者于2011-8-17 15:01:23编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/17 15:08:00 [只看该作者]

我又发现一个 方法  就是 PositionChanged 这个事件

 

因为修改数据后 是要换行 或者 保存的  能否在这 换行  和保存 2个事件上做文章呢 

 

也就是 换行后  或者 保存后  再执行这一代码!

 

 

不过  我把我之前这段代码复制进去 貌似不行~

[此贴子已经被作者于2011-8-17 15:08:47编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/17 15:24:00 [只看该作者]

这不是可靠的做法,还是设计一个窗口来输入吧

 回到顶部