假定表A有个逻辑列,希望在某行选中此逻辑列时,自动将此行复制到表B。
为此可以将表A的DataColChanged事件代码设置为:
If e.DataCol.Name =
"逻辑列名"
AndAlso e.DataRow("逻辑列名")
= True
Then
Dim
dr As
DataRow = DataTables("表B").AddNew
For
Each dc As
DataCol
In
DataTables("表B").DataCols
dr(dc.Name) = e.DataRow(dc.Name)
Next
End
If
上面的代码假定表A和表B的结构相同,且列名相同。
如果列名不同,或者只需复制部分列,可以参考下面的代码:
If e.DataCol.Name =
"逻辑列名"
AndAlso e.DataRow("逻辑列名")
= True
Then
Dim
nma() As
String = {"A1","A2","A3","A4"} 'A表数据来源列
Dim
nmb()
As
String = {"B1","B2","B3","B4"}
'B表数据接收列
Dim
dr
As
DataRow =
DataTables("表B").AddNew
For
i As
Integer = 0
To nma.Length - 1
dr(nmb(i)) = e.DataRow(nma(i))
Next
End
If
请问以上的命令, 我能不能再加一个限制,如果表A中性别列为“男”在表B中自动复制行,如果表A中性别列为“女”,在表C中自动复制行,如果表A中性别为“人妖”的在表D中自动复制行。 请问专家, 如何能实现?