以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 利用动态建立的关联,怎样让子表的关联列随主表自动更新呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7267) |
-- 作者:cpayinyuan -- 发布时间:2010/6/1 21:25:00 -- 利用动态建立的关联,怎样让子表的关联列随主表自动更新呢? 如题。 |
-- 作者:czy -- 发布时间:2010/6/1 22:10:00 -- Relations没有相关属性,现在应该不行。 |
-- 作者:cpayinyuan -- 发布时间:2010/6/2 6:20:00 -- 以下是引用czy在2010-6-1 22:10:00的发言:
Relations没有相关属性,现在应该不行。 怎样实现类似的功能? 我想在主表的DatacolChanging事件中进行处理,即当主表的关联列变更时,用代码查找子表中相关联的列,然后进行变更?这种办法有无问题?还有无更好的办法?
另外,既然动态建立的关联关联列不能自动更新,那么我不再动态建立关联了,而是全部改为用代码替代关联的功能(帮助有例子),不知这样有什么问题没有?执行效率哪个更高? |
-- 作者:狐狸爸爸 -- 发布时间: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 |
-- 作者:cpayinyuan -- 发布时间:2010/6/2 8:34:00 -- 以下是引用狐狸爸爸在2010-6-2 7:49:00的发言:
GetChildRows
返回一个DataRow集合,集合中包括指定子表中和该行对应的全部关联行,语法:
GetChildRows(ChildName)
…… 注意我这个贴子的问题是: 利用动态建立的关联,怎样让子表的关联列随主表自动更新呢?除了在DatacolChanging事件进行设置,有无更好的办法呢? [此贴子已经被作者于2010-6-2 8:34:25编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2010/6/2 8:41:00 -- 没有别的办法 |
-- 作者:cpayinyuan -- 发布时间:2010/6/2 8:47:00 -- 以下是引用狐狸爸爸在2010-6-2 8:41:00的发言:
没有别的办法 不能在用代码动态建立关联时增加一个参数,来决定是否自动更新吗? |
-- 作者:狐狸爸爸 -- 发布时间:2010/6/2 8:56:00 -- 这样也很简单的啊:
DataColChanging事件 |
-- 作者:blackzhu -- 发布时间:2010/6/3 7:38:00 -- Select Case e.DataCol.Name 以前狐爸给我的代码,对你应该有用. |
-- 作者:cpayinyuan -- 发布时间:2010/6/19 9:34:00 -- 建立关联的时候,绝大多数情况下都需要关联列自动更新。 建议贺老师把系统改一下,利用代码动态建立的关联,缺省状态下关联列自动更新。这样更方便! |