在 App Maker 中,如何清除列排序?

In app maker, how can I clear a column sort?

当应用制作者创建 table 时,它可以使列排序 table,这很好,但是在用户点击列后,您如何清除该排序设置以获取table 返回到页面首次加载时的默认设置或下面脚本中的特定排序顺序?我目前正在使用一个刷新按钮,它只是重新加载数据源,但列排序仍然存在。建议?

我试过重新加载或导航回页面本身,但这也没有效果。

这是包含排序顺序的增强型 Refresh onClick 脚本:

widget.datasource.query.sorting.App._ascending();
widget.datasource.query.sorting.Role._ascending();
widget.datasource.query.sorting.Name._ascending();
widget.datasource.load();

Morfinismo 给了我丢失的代码片段,但这是细分:

这将重置所有过滤器并清除过滤器字段,例如下拉菜单或建议框:

widget.datasource.query.clearFilters();

这会清除任何排序,所以如果你想排序,你需要像这样添加:

widget.datasource.query.clearSorting();
widget.datasource.query.sorting.App._ascending();
widget.datasource.query.sorting.Role._ascending();
widget.datasource.query.sorting.Name._ascending();

这将清除排序并将其重置为您喜欢的,但不会删除列标题上的小箭头图形。为此,您需要导航回您已经打开的页面以像这样刷新它:

app.showPage(app.pages.AppRoles);

这是完整的刷新按钮 onClick 脚本:

app.showPage(app.pages.AppRoles);
widget.datasource.query.clearFilters();
widget.datasource.query.clearSorting();
widget.datasource.query.sorting.App._ascending();
widget.datasource.query.sorting.Role._ascending();
widget.datasource.query.sorting.Name._ascending();
widget.datasource.load();

这对我有用,但我相信还有其他的交易方法和技巧。随时 post 他们在这里为未来的答案寻求者。