以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  表间关联的编辑  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=176046)

--  作者:qaz17909
--  发布时间:2022/3/28 17:03:00
--  表间关联的编辑
窗口设计,产品表和订单表可以通过产品ID关联后生成窗口的查询表,但是查询表无法编辑。现在希望在订单表的界面上,显示产品的相关信息,当然这几列无法编辑,但是订单表的那几列可以编辑,能实现吗?
--  作者:有点蓝
--  发布时间:2022/3/28 17:29:00
--  
如果2个表数据有加载,可以设置为关联表,然后使用表达式列引用

如果数据没有加载,只能添加临时列(http://www.foxtable.com/webhelp/topics/1428.htm),然后到datacolchanged事件查询引用后台数据:http://www.foxtable.com/webhelp/topics/1451.htm

--  作者:qaz17909
--  发布时间:2022/3/28 19:50:00
--  
1.在窗口的AfterLoad中用DataTables("订单").DataCols.Add()添加临时列,并用RaiseDataColChanged()进行初始赋值
2.在表格的DataColChanged事件中设置临时列的取值
3.在窗口的AfterLoad中用SetColVisibleWidth设置列的位置
是这样的思路吗


--  作者:有点蓝
--  发布时间:2022/3/28 20:30:00
--  
试呗,有问题再说
--  作者:qaz17909
--  发布时间:2022/3/28 20:34:00
--  
非窗口中,两个外部表进行了关联,A表为父表,B表为子表,B表增加一列表达式列,该列引用了父表的某一列,两个表初始都未加载数据,此时对B表进行加载数据,发现表达式列并未对应加载父表指定列的数据,这应该怎么弄?
--  作者:有点蓝
--  发布时间:2022/3/28 21:10:00
--  
1、不要使用表达式列,改为数据列,然后使用表事件引用保存数据