Aggregateの結果をソートする
多くの場合、レコードは、読みやすくしたり、情報をすばやく見つけたりするため、一定の順序に従って画面上に表示されます。
OutSystemsでは、Aggregateによって、返されたレコードをソートするこtが可能です。ソートは、固定または動的のいずれかで、実行中に変更できます。
固定ソートでAggregateの結果をソートするには、以下の手順を実行します。
- Aggregateで、
をクリックし、ソート対象のアトリビュートのメニューを開きます。
- 昇順の場合は[A-Z]、降順の場合は[Z-A]を選択します。
動的ソートでAggregateの結果をソートするには、以下の手順を実行します。
- Aggregateで、[Sorting]パネルに移動し、[Add Dynamic Sort]をクリックします。
- 入力はテキスト型の式です。値は、式自体に実装されている条件またはその他のロジックの結果であることもあります。列を参照するには、[Scope]ツリーから、すでに定義したテキスト型の変数を選択します。
式を変数の値として定義する場合、以下を指定できます。
- 計算またはグループ化されたアトリビュートの場合、昇順は
AttributeName
、降順はAttributeName DESC
というパターンを使用 - エンティティアトリビュートの場合、昇順または降順について、それぞれ
Entity.Attribute
またはEntity.Attribute DESC
というパターンを使用
例
レビューの検索や場所の評価ができるGoOutというモバイルアプリケーションには、場所の詳細とすべてのレビューをリスト表示する画面があります。ユーザーが、日付の新しい順や評価の高い順に場所のレビューをソートできるようにします。
-
[PlaceDetail]画面を開きます。
-
「SortAttribute」という名前のテキスト型のローカル変数を追加します。
-
GetPlaceReviews Aggregateを開きます。
-
[Sorting]パネルで、[Add Dynamic Sort]をクリックし、ソートの式をSortAttribute変数として定義します。
-
Button Groupウィジェットをツールボックスからレビューリストの先頭にドラッグし、SortAttribute変数をButton Groupにバインドします。
-
Button Group項目の1つを削除し、残りのButton Group項目の名前を「Sort by Latest」および「Sort by Rate」に変更します。
-
[Sort by Latest]ボタングループ項目を選択し、Valueプロパティを
Review.Date DESC
という式に設定します。これにより、Aggregateの結果が、Dateアトリビュートの降順にソートされます。 -
[Sort by Rate]ボタングループ項目を選択し、Valueプロパティを
Review.Rate DESC
という式に設定します。これにより、Aggregateの結果が、Rateアトリビュートの降順にソートされます。 -
Button Groupウィジェットを選択し、「SortCriteriaOnChange」という名前の新しいアクションにOn Changeイベントハンドラを設定します。
-
SortCriteriaOnChangeアクションを開き、GetPlaceReviews AggregateをリフレッシュするRefresh Dataを追加します。これにより、SortAttribute変数で定義されるソート基準を使用してAggregateがデータをリフレッシュすることができるようになります。
-
パブリッシュしてテストします。