我有一张桌子上有两个过滤器。两个过滤器都采用Dropdown小部件的形式;当用户从“下拉列表”中的选项列表中选择一个项目时,该表格将被过滤以仅包含该项目的记录。每个Dropdown过滤器都是与表的数据源的关系。
目前,每个Dropdown的选项只是该Dropdown特定数据源中项目的完整列表。但是,当用户更改一个下拉列表的值时,我希望仅使用
填充其他下拉列表的选项列表例如,我有一张美国和加拿大公民及其所在州/省的表格。第一个Dropdown按国家/地区过滤表,第二个按州/省过滤。如果我选择加拿大'从第一个Dropdown开始,当我选择第二个Dropdown的项目时,只有加拿大省份作为选项出现,而且没有一个美国州会这样做。
答案 0 :(得分:0)
假设您有三个独立的数据源:
要过滤州下拉列表中的项目,您可以使用Сountries在下拉列表的onValueChange事件中重新加载其数据源。您还可以通过将@datasources.States.query.filters.Country._equals
绑定到国家/地区的下拉值来简化您的生活。
// Countries dropdown onValueChange event handler
// newValue - new selected country
app.datasources.States.load();
// unfortunately App Maker doesn't allow to bind multiple things to
// one value, so we need explicitly set filter for People datasource
app.datasources.People.query.filters.Country._equals = newValue;
app.datasources.People.load();
根据您的业务需求,您可能希望通过禁用状态下拉列表强制用户首先选择国家/地区:
// States dropdown `enabled` property binding
@datasources.States.query.filters.Country._equals !== null