Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:sqltable跨表引用

1楼
qaz17909 发表于: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楼
有点蓝 发表于:2024/3/7 11:02:00
关联表仅适用已经加载的数据。

改为到datacolchanged事件写代码引用:http://www.foxtable.com/webhelp/topics/1451.htm
3楼
qaz17909 发表于:2024/3/7 11:10:00
datacolchanged就是我前面提到的方法,这种在数据加载量很大的时候,会很卡
4楼
有点蓝 发表于:2024/3/7 11:42:00
那就不要一次性加载太多的数据,或者分页加载
共4 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02148 s, 2 queries.