我有一个Listpage1(有custtable字段custno,custname等)调用另一个listpage 2。
Listpage2两个将显示Custdetails表,并将调出来自调用列表页面1的所有具有custno的记录。
对于EP listpage2将被User控件替换。 除了EP上的详细列表页面和用户控件此刻显示所有记录外,所有导航现在都可以正常工作。
如何使用custno传递custno并过滤详细信息页面?
答案 0 :(得分:1)
实现这一目标的最佳方法是使用Dynalink。
这是一个很好的例子: http://www.axaptapedia.com/Tutorial_Form_Dynalink
Dynalink在表之间生成链接。 包含有关外部记录的关系(限制)的信息。 运行查询时,此信息将转换为查询SQL语句的WHERE子句中的其他条目。只能存在于查询的父数据源中。 当两个数据源同步时,表单使用该函数。然后,子数据源将包含父数据源的dynalink或dynalink。即使两个数据源以两种不同的形式放置但仍然是同步的,也会使用该函数。
以下是Dynalink的示例,将其放在master数据源的init
方法中(listPage1的数据源):
this.query().dataSourceTable(tableNum(CustTable)).addDynalink(
fieldNum(CustTable, AccountNum),
CustDetails,
fieldNum(CustDetails, AccountNum));
第一个参数是父数据源中的关键字段,第二个参数是子表,第三个参数是该表上的外键。