以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]“表A”和“表B”同有一列“客户”列,当“表B”的客户数据发生改变时,“表A”的相应客户信息也同步改变,不使用关联表,如何写代码? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96138) |
||||
-- 作者:fengwenliuyan -- 发布时间:2017/2/14 9:13:00 -- [求助]“表A”和“表B”同有一列“客户”列,当“表B”的客户数据发生改变时,“表A”的相应客户信息也同步改变,不使用关联表,如何写代码? “订单表”和“信息表”同有一列“客户”列,“信息表”是停靠在“订单表”的一个RecordGrid窗口控件中,当“订单表”中鼠标点击任意一列单元格时,该单元格所在行的客户的信息自动在“RecordGrid窗口控件”中显示出来,不使用关联表,应该如何写代码? 项目已经上传,请帮忙写下代码?谢谢!
[此贴子已经被作者于2017/2/14 9:15:50编辑过]
|
||||
-- 作者:有点色 -- 发布时间:2017/2/14 9:25:00 -- CurrentChanged事件
Dim cr As Row = e.Table.Current |
||||
-- 作者:fengwenliuyan -- 发布时间:2017/2/14 9:37:00 -- ok了,谢谢! ok了,谢谢! [此贴子已经被作者于2017/2/14 9:38:31编辑过]
|
||||
-- 作者:有点色 -- 发布时间:2017/2/14 9:39:00 -- 是CurrentChanged事件。
如果写在dataColChanged事件,这样写
If e.DataCol.name = "客户" Then |
||||
-- 作者:fengwenliuyan -- 发布时间:2017/2/14 9:41:00 -- 谢谢呢!!! 谢谢呢!!! |
||||
-- 作者:fengwenliuyan -- 发布时间:2017/2/15 10:41:00 -- 写在datecolchanged中的代码失败了??? If e.DataCol.name = "客户" Then Dim idx As Integer = Tables("意和客户信息表").FindRow("客户 = \'" & e.DataRow("客户") & "\'") If idx >= 0 Then Tables("意和客户信息表").Position = idx End If End If 写在datecolchanged中的代码失败了???
|
||||
-- 作者:有点色 -- 发布时间:2017/2/15 10:56:00 -- 4楼代码没问题。 |
||||
-- 作者:fengwenliuyan -- 发布时间:2017/2/15 11:00:00 -- CurrentChanged: Dim cr As Row = e.Table.Current If cr IsNot Nothing Then Dim idx As Integer = Tables("意和客户信息表").FindRow("客户 = \'" & cr("客户") & "\'") If idx >= 0 Then Tables("意和客户信息表").Position = idx End If End If 有效果 datecolchanged: If e.DataCol.name = "客户" Then Dim idx As Integer = Tables("意和客户信息表").FindRow("客户 = \'" & e.DataRow("客户") & "\'") If idx >= 0 Then Tables("意和客户信息表").Position = idx End If End If 没效果
|
||||
-- 作者:有点色 -- 发布时间:2017/2/15 11:03:00 -- 两个都要写。 |
||||
-- 作者:fengwenliuyan -- 发布时间:2017/2/16 10:40:00 -- 都写上的话,结果是一样的。 都写上的话,结果是一样的,比如说:客户“北京”的第二列编辑后,鼠标必须在其他客户订单行上点击,然后回来点击该行“北京”订单,“客户信息表”才会显示更改后的数据变动, 现在希望的是, 比如说:客户“北京”的第二列编辑后,鼠标只要点击当前单元格以外的任意位置都可以使“客户信息表”显示更改数据,包括点击在当前客户行上也一样!?
|