如何在表单中通过按键强制加载和项目?

How to force load and item by key in form?

案例

1 - 我有一个带有数据源任务的手风琴小部件。
2. - 我有一个表格来显示有关所选任务的信息。它有一个数据源 TaskByKey。

寻求的解决方案:

我试过的:

我尝试在 Google 的模板 Project Tracker 中实施作为示例给出的解决方案:

/**
 * Navigates user to the specific project view page.
 * @param {!string} projectKey - project key to view.
 * @param {boolean=} forceReplace - optional flag that forces to replace URL
 *     state in cases when state push would be normally used.
 */
function gotoViewProjectPageByKey(projectKey, forceReplace) {
  var params = {
    projectKey: projectKey
  };

  gotoViewProjectPageByParams(params, forceReplace);
}

当然,上面的示例针对的是一个页面,因为我想在同一页面上更改元素的数据源。

TLDR

如何设置按钮的 onClick 事件以从 datasource_X 到 datasource_X_byKey 按键加载项目?

考虑到您的 TaskByKey 假装只过滤特定任务...您可以将以下内容放在 onClick 事件中按钮。

var taskKey = widget.datasource.item._key;
var ds = app.datasources.TaskByKey;
ds.query.filters._key._equals = taskKey;
ds.load();
//Then, here you either navigate to a page or open a dialog or open a popup.

考虑到您的 Tasks 数据源和您的 TaskByKey 数据源来自同一模型,以上内容将起作用。

参考:https://developers.google.com/appmaker/scripting/api/client#Query