要通过搜索栏在表格中添加多个过滤器,可以使用Appmaker提供的FilterBar和Filter控件。以下是一个示例代码,演示如何实现此功能:
首先,在Appmaker中创建一个新的页面,然后添加一个FilterBar控件和一个Table控件。
在FilterBar控件的Properties设置中,找到Filters属性,点击右侧的编辑按钮。在弹出的对话框中,点击“添加过滤器”按钮。为每个过滤器添加一个名称和字段,例如“姓名”和“age”。点击确定保存设置。
然后,在Table控件的Properties设置中,找到Data属性,选择要显示的数据源。在Filters属性中,选择FilterBar控件。
接下来,在Appmaker的代码编辑器中,找到页面的Client Script,添加以下代码:
function filterTable() {
var filterBar = app.pages.FilterPage.descendants.FilterBar;
var filters = filterBar.filters;
var query = app.models.YourModel.newQuery();
filters.forEach(function(filter) {
if (filter.value) {
query.filters.YourModel.fields[filter.field].containsIgnoreCase(filter.value);
}
});
app.pages.FilterPage.descendants.Table.datasource.load();
}
在上面的代码中,将“YourModel”替换为要过滤的数据模型的名称。此外,根据实际情况,可能需要调整字段的名称。例如,将“YourModel.fields[filter.field]”更改为实际的字段名称。
最后,在FilterBar控件的Events设置中,找到onApply事件。将其与上面定义的filterTable函数关联。
保存并运行你的Appmaker应用程序。现在,当你在FilterBar中输入过滤条件并点击“应用”按钮时,表格将根据过滤器中的条件进行过滤。
上一篇:Appmaker:如何将几个页面片段处理为一个整体?
下一篇:appmaker:我遇到错误 com.google.web.bindery.event.shared.UmbrellaException: 捕获到异常:路径段不存在