如何使 pop-up 数据反映所选记录?

How to make pop-up data reflect selected record?

案例:

我将活动作为数据模型。

我已将活动设置为与它们自己有 many-to-many 关系,以表示 Parent / Child 关系。

我已经设置了手风琴小部件。手风琴的每一行都包含有关 Activity 记录的基本数据 + 一些按钮。

我已将按钮的一个 onClick 函数设置为打开一个弹出窗口,这样我就可以编辑表单中的 Activity 详细信息。

当我从同一个手风琴面板中单击不同的记录时,弹出窗口中的表格反映了所选记录中的数据。


问题:

我有嵌套手风琴,代表 Parent Activity 的 "Child" 活动。

我还添加了一个类似的按钮,它会打开一个弹出窗口。我可以打开针对 child 记录的弹出窗口,但无法打开我按下按钮的特定记录。

因此弹出窗口默认在第一个 child 上打开。

请帮忙 - 我怎样才能让弹出窗口自然地改变以反映数据源/甚至嵌套数据源的选定记录?


我试过的:

为了尝试弹出窗口工作,我尝试根据关系设置数据源:

活动:Sub_Activities(关系)

这在显示相关项目的范围内有效,但弹出内容不会在单击不同的 child 记录或单击来自不同的 child 记录的按钮时动态更改。

在这两种情况下,显示的是第一个 child 记录。

据我所知,您有一个设置,您可以在其中单击一个按钮并显示一个弹出窗口。弹出窗口应该让您 view/edit 按钮所在行中引用的记录。如果是这样,那么您可能已经为接下来的工作做好了几乎所有的设置。首先,在弹窗中添加一个字符串自定义属性,并命名为selectedKey。然后,在打开弹出窗口的按钮的 onClick 事件上,添加如下内容:

var key = widget.datasource.item._key;
app.popups.MYPOPUP.properties.selectedKey = key;
app.popups.MYPOPUP.visible = true;

现在,转到弹出内容并在 onAttach 事件处理程序中添加以下内容:

var key = widget.root.properties.selectedKey;
widget.datasource.selectKey(key);

这是如何让它发挥作用的总体思路;但是,为了使其正常工作,您应该正确设置小部件中的数据源。祝你好运!