过滤查询中的关系项
Filter items of relation on query
给定以下场景:
型号:
Projects
Tasks
和
关系:
Projects (one) <--> (many) Tasks
我有一个带有数据源的手风琴,它只显示具有未完成任务的项目。
(例如,query.filters.Tasks.Completed._equals = false)
在手风琴详细信息中,我有一个列表,其中我只想显示满足特定条件的任务(例如 Task.Category = "Marketing" 或 "Sales")。
这可能吗?如果可能,如何实现?
- 为筛选任务创建专用数据源
- 设置为手动加载模式
- 在 Accordion 的详细信息原型中放置一个 table
- 将 table 绑定到步骤 #1 中的数据源
- 将此代码段添加到 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();
给定以下场景:
型号:
Projects
Tasks
和
关系:
Projects (one) <--> (many) Tasks
我有一个带有数据源的手风琴,它只显示具有未完成任务的项目。 (例如,query.filters.Tasks.Completed._equals = false)
在手风琴详细信息中,我有一个列表,其中我只想显示满足特定条件的任务(例如 Task.Category = "Marketing" 或 "Sales")。
这可能吗?如果可能,如何实现?
- 为筛选任务创建专用数据源
- 设置为手动加载模式
- 在 Accordion 的详细信息原型中放置一个 table
- 将 table 绑定到步骤 #1 中的数据源
- 将此代码段添加到 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();