1. 程式人生 > >OutSystems 中,利用聚合對結果進行排序

OutSystems 中,利用聚合對結果進行排序

大多數情況下,記錄會按照某些順序列在螢幕上,以便於閱讀或幫助更快地查詢資訊。

在 OutSystems 中,聚合允許對返回的記錄進行排序,排序可以是固定的或動態的。

對結果進行固定排序:

  1. 在聚合中,開啟要排序的屬性選單;
  2. 選擇A-Z作為升序或Z-A作為降序;

對結果進行動態排序:

  1. 在聚合中,轉到 Sorting 面板,然後單擊 Add Dynamic Sort
  2. 預設是Text型別的表示式,該值可以是表示式實現的條件或其他邏輯的結果。要引用列,可以選擇從 Scope 樹中預先定義的 Text 型別的變數。

將表示式定義為變數值時,你可以指定:計算或分組的屬性,使用模式 AttributeName

升序或 AttributeName DESC 降序;實體屬性,使用模式 Entity.AttributeEntity.Attribute DESC 進行升序或降序。

示例

GoOut是一個用於搜尋評論和評價地點的移動應用,我們有一個螢幕,列出了一個地點及其所有評論的詳細資訊。我們希望允許使用者按最近日期和最高評級對某個地點的評價進行排序,如下所示:

  1. 開啟 PlaceDetail 螢幕;

  2. 新增一個名為 SortAttribute 的 Text 型別的區域性變數;

  3. 開啟聚合 GetPlaceReviews;

  4. 在面板排序上,單擊新增動態排序並將排序表示式定義為變數 SortAttribute

  5. 將 Button Group 部件從工具箱拖到評論列表的頂部,並與變數 SortAttribute 繫結;

  6. 刪除其中一個按鈕組專案並將剩餘的按鈕組項重新命名為“Sort by Latest”和“Sort by Rate”;

  7. 選擇“Sort by Latest”按鈕組項,並將 Value 屬性設定為表示式Review.Date DESC。這將按屬性 Date 的降序對聚合的結果進行排序;
    在這裡插入圖片描述

  8. 選擇“Sort by Rate”按鈕組,並將 Value 屬性設定為表示式Review.Rate DESC。這將按屬性 Rate 的降序對聚合的結果進行排序;

  9. 選擇 Button Group 部件並將 On Change

    事件處理程式設定為名為 SortCriteriaOnChange 的新操作;

  10. 開啟 SortCriteriaOnChange 並新增重新整理資料以重新整理聚合 GetPlaceReviews 。這可確保聚合使用變數 SortAttribute 中定義的排序條件重新整理資料;

  11. 釋出並測試;

在這裡插入圖片描述