过滤查询中的关系项

Filter items of relation on query

给定以下场景:

型号:

Projects
Tasks

关系:

Projects (one) <--> (many) Tasks

我有一个带有数据源的手风琴,它只显示具有未完成任务的项目。 (例如,query.filters.Tasks.Completed._equals = false)

在手风琴详细信息中,我有一个列表,其中我只想显示满足特定条件的任务(例如 Task.Category = "Marketing" 或 "Sales")。

这可能吗?如果可能,如何实现?

  1. 为筛选任务创建专用数据源
  2. 设置为手动加载模式
  3. 在 Accordion 的详细信息原型中放置一个 table
  4. 将 table 绑定到步骤 #1 中的数据源
  5. 将此代码段添加到 Accordion 的详细信息原型的 onDataLoad 事件中
// Accordion details onDataLoad event handler
var ds = app.datasources.TasksFitered;
var projectKey = widget.datasource.item._key;

ds.query.filters.Category._in = ['Marketings', 'Sales'];
ds.query.filters.Project._key._equals = projectKey;
ds.load();

您很可能需要在详细信息的 onDetach 事件上卸载数据源,以便在用户在项目之间切换时隐藏旧结果:

// Accordion details onDetach event handler
app.datasources.TasksFitered.unload();