以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]引用当前行数据代码如何编写  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=66841)

--  作者:jygyyl
--  发布时间:2015/4/14 18:57:00
--  [求助]引用当前行数据代码如何编写
我想实现如下功能,求老师指点代码编写,O(∩_∩)O谢谢!

当“关系”列发生变化,且:
当“关系”列=“母亲”时,当前行的“领证人”列的值=当前行的“GB001”列的值、当前行的“zjhm”列的值=当前行的“GB011”列的值;
当“关系”列=“父亲”时,当前行的“领证人”列的值=当前行的“GB022”列的值、当前行的“zjhm”列的值=当前行的“GB023”列的值;



[此贴子已经被作者于2015/4/14 19:56:03编辑过]

--  作者:jygyyl
--  发布时间:2015/4/14 19:58:00
--  解决了
搜索、看帮助,问题解决了!代码如下:
Dim r As Row = Tables("表A").Current
If r("第五列") = "母亲"
    r("第六列") = r("第一列")
    r("第七列") = r("第二列")
    Output.Show(r("第五列"))
    Output.Show(r("第六列") )
    Output.Show(r("第七列") )
Else
    If r("第五列") = "父亲"
        r("第六列") = r("第三列")
        r("第七列") = r("第四列")
        Output.Show(r("第五列"))
        Output.Show(r("第六列") )
        Output.Show(r("第七列") )
    End If
End If
[此贴子已经被作者于2015/4/14 20:15:58编辑过]

--  作者:有点酸
--  发布时间:2015/4/14 20:31:00
--  
上面的代码写得很不好,最好学一下基本类型和事件编程。

通常应该写在DataColChanged事件:

Dim r As dataRow = e.DataRow
Select Case e.DataCol.Name
    case “第五列”
          If r("第五列") = "母亲"
                r("第六列") = r("第一列")
                r("第七列") = r("第二列")
          ElseIf r("第五列") = "父亲"
                r("第六列") = r("第三列")
                r("第七列") = r("第四列")
          End If
End Select

这么久,也该系统学一下了,如果看帮助困难,可以看置顶的视频教程。
[此贴子已经被作者于2015/4/14 20:31:22编辑过]

--  作者:jygyyl
--  发布时间:2015/4/14 22:05:00
--  谢谢!
谢谢!