列表页面呼叫详细信息/列表页面

时间:2015-02-27 12:22:38

标签: forms axapta

我有一个Listpage1(有custtable字段custno,custname等)调用另一个listpage 2。

Listpage2两个将显示Custdetails表,并将调出来自调用列表页面1的所有具有custno的记录。

对于EP listpage2将被User控件替换。 除了EP上的详细列表页面和用户控件此刻显示所有记录外,所有导航现在都可以正常工作。

如何使用custno传递custno并过滤详细信息页面?

1 个答案:

答案 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));

第一个参数是父数据源中的关键字段,第二个参数是子表,第三个参数是该表上的外键。