Foxtable(狐表)用户栏目专家坐堂 → 利用动态建立的关联,怎样让子表的关联列随主表自动更新呢?


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

主题:利用动态建立的关联,怎样让子表的关联列随主表自动更新呢?

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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/2 7:49:00 [显示全部帖子]

GetChildRows

 

返回一个DataRow集合,集合中包括指定子表中和该行对应的全部关联行,语法:

 

GetChildRows(ChildName)

 

ChildName: 子表名称。

 

示例

 

假定产品表和订单表之间通过产品编号建立了关联,下面的代码获得第一个产品的全部订单,并将这些订单的折扣设为0.1:

Dim drs As List(Of Datarow)
drs =
DataTables("产品").DataRows(0).GetChildRows("订单")
For Each
dr As DataRow In drs
    dr(
"折扣") = 0.1

Next


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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/2 8:41:00 [显示全部帖子]

没有别的办法


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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/2 8:56:00 [显示全部帖子]

这样也很简单的啊:

 

DataColChanging事件
 
 
If e.DataCol.Name = "关联列" Then
    Dim drs As List(Of Datarow)
    drs = e.DataRow.GetChildRows("子表")
    For Each dr As DataRow In drs
        dr("关联列") = e.NewValue
    Next
Next


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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/19 10:46:00 [显示全部帖子]

我先看看吧

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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/21 18:25:00 [显示全部帖子]

已经给Relation加了两个属性,下次更新可以用:

 

CascadeUpdate 逻辑型,是否同步更新关联列内容
CascadeDelete 逻辑型,是否同步删除关联行


 回到顶部