0

私のアプリケーションには af:table があり、serverName という名前の疑似列と他の列があります。(疑似列とは、つまり、単なる UI 列であり、対応する DB 列がありません)。

ソートのために、SortListener の processSort(sortColumn, sortOrder) メソッドをオーバーライドしました。

次のように動作します: 1) sortColumn を取り込んで DB にクエリを実行する 2) orderBy 句を使用する 3) 結果を取得して UI に表示する

私の場合、私の列 (serverName) には対応する DB 列がないため、この方法を超えて、ADF の既定のアルファベット順の並べ替えを使用したいと考えています。それ、どうやったら出来るの?

sortColum が serverName と一致する場合、このメソッドから返そうとしましたが、何もソートされませんでした。

4

1 に答える 1

0

メソッドを使用しsetSortBy()ます。

Fusion 開発者ガイドのこのセクションをお読みください。

39.5.2 メモリー内のビュー・オブジェクト行のソート

実行時にビュー オブジェクトの行をソートするには、setSortBy()メソッドを使用します。SQL ORDER BY句のように見える並べ替え式を渡します。ただし、表の列名を参照するかわりに、ビュー・オブジェクトの属性名を使用します。たとえば、Customer および DaysOpen という名前の属性を含むビュー オブジェクトの場合、ビュー オブジェクトを最初に Customer の降順で並べ替え、次に DaysOpen で並べ替えることができます。

setSortBy("Customer desc, DaysOpen"); または、次のようにソート句でゼロベースの属性インデックス位置を使用できます。

setSortBy("3 desc, 2"); メソッドを呼び出した後setSortBy()、次にメソッドを呼び出したときに行がソートされますexecuteQuery()

于 2011-02-04T14:54:49.397 に答える