C/AL 开发相对较新。我们有一个 FactBox 页面,其中包含一个带有临时表页面源的转发器。FactBox 中的行数与父页面中的行数相匹配。FactBox 中的临时记录根据父页面 OnAfterGetRecord 触发器的调用一次累积一个。它们基于来自父页面 OnAfterGetCurrRecord 触发器的调用加载到 FactBox。
1a。出于讨论的目的,假设在父页面和 FactBox 页面中有 10 条记录。当用户选择父页面中的给定行(例如,他们选择第 3 行,我想突出显示 FactBox 中的第 3 行)时,如何突出显示 FactBox 中的匹配行?
1b。如果用户使用 Shift+Click 或 Ctrl+Click 选择多行,如何突出显示多行?
在上述 1a 的情况下,OnAfterGetRecord 在父页面中触发,过滤器等于键。在第二种情况下,OnAfterGetRecord 在父页面中为用户选择的每条记录触发,过滤器等于“标记:是”。如果我尝试在 FactBox 页面中使用 Mark,它会过滤记录,以便仅在 FactBox 中显示选定的记录,这不是我想要的。
我们使用的是 2013R2,尽管我也会对其他版本的答案感兴趣。
提前感谢您的任何想法和/或建议。
PS。FactBox 是对父页面中包含的每个列表行的一目了然的总结。它包含一些临时表字段,当父页面 OnAfterGetRecord 和 OnAfterGetCurrRecord 触发器被触发时,这些临时表字段从父页面行主键填充。父页面行和 FactBox 行之间存在 1 对 1 的关系。
基本上,我们不是让 FactBox 垂直显示仅针对活动父页面行的数据,而是将 FactBox 垂直字段转换为水平字段行,并为每一行父页面数据显示一行 FactBox 数据。当用户通过单击标题等对父页面进行排序时,FactBox 会重新同步。