Foxtable(狐表)用户栏目专家坐堂 → sqltable跨表引用


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

主题:sqltable跨表引用

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


加好友 发短信
等级:四尾狐 帖子:802 积分:9093 威望:0 精华:0 注册:2017/1/26 14:38:00
sqltable跨表引用  发帖心情 Post By:2024/3/7 10:53:00 [只看该作者]

外部表中产品表和订单表都有一个产品编号列,在订单编辑窗口设计时,在afterload里用DataCols.Add可以增加一个临时列:规格型号,现在这个临时列想引用产品表的“规格型号”这个字段数据,可以datacolchanged事件中设置先按照产品编号查找产品表然后赋值,在afterload中用RaiseDataColChanged触发。这种做法是不是不够好因为在加载记录数比较多的时候好像会很慢,还有其他的方法吗,比如表达式或者直接select语句?
我尝试用表达式的方法,代码如下
Dim t As Table = e.Form.Controls("Table1").Table   '当前窗口的sqltable是订单表
Dim dt As DataTable = e.Form.Controls("Table1").Table.DataTable
Relations.Add("po", DataTables("产品表").DataCols("产品编号"), dt.DataCols("产品编号"))
dt.DataCols.Add("po", GetType(String), "Parent.规格型号")
但是无效因为DataTables("产品表")没有加载数据所以也无法提供关联的字段信息

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/7 11:02:00 [只看该作者]

关联表仅适用已经加载的数据。

改为到datacolchanged事件写代码引用:http://www.foxtable.com/webhelp/topics/1451.htm

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


加好友 发短信
等级:四尾狐 帖子:802 积分:9093 威望:0 精华:0 注册:2017/1/26 14:38:00
  发帖心情 Post By:2024/3/7 11:10:00 [只看该作者]

datacolchanged就是我前面提到的方法,这种在数据加载量很大的时候,会很卡

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/7 11:42:00 [只看该作者]

那就不要一次性加载太多的数据,或者分页加载

 回到顶部