Как использовать алфавитную сортировку вповерх processSort () - PullRequest
0 голосов
/ 21 января 2011

У моего приложения есть таблица af: и столбец psuedo с именем serverName, а также другие столбцы. (Под псевдо-столбцом я имею в виду - это просто столбец пользовательского интерфейса, у него нет соответствующего столбца БД).

Для сортировки мы переопределили метод processSort (sortColumn, sortOrder) класса SortListener.

Это работает так: 1) принимает в sortColumn и запрашивает БД 2) используя предложение orderBy 3) извлекает результаты и затем отображает на интерфейсе пользователя

Теперь в моем случае, поскольку у моего столбца (имя_сервера) нет соответствующего столбца БД, я хочу превзойти этот метод и использовать сортировку по умолчанию в алфавитном порядке ADF. Как мне это сделать?

Я попытался вернуться из этого метода, если sortColum соответствует serverName, но в итоге ничего не сортируется.

1 Ответ

0 голосов
/ 04 февраля 2011

Используйте метод setSortBy().

Чтение этого раздела в Руководстве разработчика Fusion.

39.5.2 Сортировка строк объекта представления в памяти

Сортировка строк в объекте представленияво время выполнения используйте метод setSortBy().Вы передаете выражение сортировки, которое выглядит как предложение SQL ORDER BY.Однако вместо ссылки на имена столбцов таблицы вы используете имена атрибутов объекта представления.Например, для объекта представления, содержащего атрибуты с именами Customer и DaysOpen, вы могли бы сначала отсортировать объект представления по убыванию Customer, а затем по DaysOpen, вызвав:

setSortBy("Customer desc, DaysOpen"); В качестве альтернативы, вы можете использовать атрибут с нулямиПозиция индекса в предложении сортировки выглядит следующим образом:

setSortBy("3 desc, 2"); После вызова метода setSortBy() строки будут отсортированы при следующем вызове метода executeQuery().

...