Foxtable(狐表)用户栏目专家坐堂 → 自动删除行


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

主题:自动删除行

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


加好友 发短信
等级:婴狐 帖子:40 积分:376 威望:0 精华:0 注册:2012/1/3 17:14:00
自动删除行  发帖心情 Post By:2012/1/8 19:27:00 [显示全部帖子]

以下是开发指南中自动复制行的公式

动复制行

定表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表,如果撒消选择后把复制的数据删除,那么以上的公式如何修改?


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


加好友 发短信
等级:婴狐 帖子:40 积分:376 威望:0 精华:0 注册:2012/1/3 17:14:00
  发帖心情 Post By:2012/1/9 20:38:00 [显示全部帖子]

好像不行,另个ID列作用是什么,能说明一下吗

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


加好友 发短信
等级:婴狐 帖子:40 积分:376 威望:0 精华:0 注册:2012/1/3 17:14:00
  发帖心情 Post By:2012/1/11 18:34:00 [显示全部帖子]

4楼的表A如果是删除行,表B对应记录的行能同时删除,公式该如何修改?

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


加好友 发短信
等级:婴狐 帖子:40 积分:376 威望:0 精华:0 注册:2012/1/3 17:14:00
  发帖心情 Post By:2012/1/12 15:58:00 [显示全部帖子]

Datatables("表B").Deletefor("列名='" & 表A相对应的条件 & "'")
以上的公式能帮我在4楼的文件表A公式里插入,改成我要的效果吗?

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


加好友 发短信
等级:婴狐 帖子:40 积分:376 威望:0 精华:0 注册:2012/1/3 17:14:00
  发帖心情 Post By:2012/1/13 13:01:00 [显示全部帖子]

楼上的公式好像没起什么作用,能帮我再验证一下吗?

 回到顶部