大多数情况下,记录会按照某些顺序列在屏幕上,以便于阅读或帮助更快地查找信息。
在 OutSystems 中,聚合允许对返回的记录进行排序,排序可以是固定的或动态的。
对结果进行固定排序:
- 在聚合中,打开要排序的属性菜单;
- 选择A-Z作为升序或Z-A作为降序;
对结果进行动态排序:
- 在聚合中,转到 Sorting 面板,然后单击 Add Dynamic Sort ;
- 默认是Text类型的表达式,该值可以是表达式实现的条件或其他逻辑的结果。要引用列,可以选择从 Scope 树中预先定义的 Text 类型的变量。
将表达式定义为变量值时,你可以指定:计算或分组的属性,使用模式 AttributeName
升序或 AttributeName DESC
降序;实体属性,使用模式 Entity.Attribute
或 Entity.Attribute DESC
进行升序或降序。
示例
GoOut是一个用于搜索评论和评价地点的移动应用,我们有一个屏幕,列出了一个地点及其所有评论的详细信息。我们希望允许用户按最近日期和最高评级对某个地点的评价进行排序,如下所示:
-
打开 PlaceDetail 屏幕;
-
添加一个名为 SortAttribute 的 Text 类型的局部变量;
-
打开聚合 GetPlaceReviews;
-
在面板排序上,单击添加动态排序并将排序表达式定义为变量 SortAttribute;
-
将 Button Group 部件从工具箱拖到评论列表的顶部,并与变量 SortAttribute 绑定;
-
删除其中一个按钮组项目并将剩余的按钮组项重命名为“Sort by Latest”和“Sort by Rate”;
-
选择“Sort by Latest”按钮组项,并将 Value 属性设置为表达式
Review.Date DESC
。这将按属性 Date 的降序对聚合的结果进行排序;
-
选择“Sort by Rate”按钮组,并将 Value 属性设置为表达式
Review.Rate DESC
。这将按属性 Rate 的降序对聚合的结果进行排序; -
选择 Button Group 部件并将 On Change 事件处理程序设置为名为 SortCriteriaOnChange 的新操作;
-
打开 SortCriteriaOnChange 并添加刷新数据以刷新聚合 GetPlaceReviews 。这可确保聚合使用变量 SortAttribute 中定义的排序条件刷新数据;
-
发布并测试;