Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];

Вниз

как сортировать результаты запроса?   Найти похожие ветки 

 
AFrolov   (2002-09-30 11:24) [0]

Вопрос наверно уже встречался, но все же:
С помощью запроса получается набор данных, которые надо показывать пользователю по разному отсортированными (в зависимости от того по каким колонкам пользователь эту сортировку выбрал). Как можно изменить эту сортировку не выполняя повторно SQL - запрос (т.к. он длится довольно долго, а все необходимые данные были уже до этого получены). Может есть стандартные компоненты которые это делают?
Заранее спасибо.


 
3JIA9I CyKA   (2002-09-30 11:33) [1]

ExpressQuantumGrid


 
Desdechado   (2002-09-30 11:35) [2]

попробуй в StringGrid или ListBox (многоколоночный режим)


 
AFrolov   (2002-09-30 11:56) [3]


> 3JIA9I CyKA © (30.09.02 11:33)
> ExpressQuantumGrid

Клевый компонент, правда только за бабки и за приличные :-((


 
3JIA9I CyKA   (2002-09-30 12:21) [4]

Он их стоит.


 
AFrolov   (2002-09-30 12:22) [5]

Я бы предпочел ограничится только сортировкой, всей остальной крутизны мне пока не надо.


 
3JIA9I CyKA   (2002-09-30 12:27) [6]

Получив данные - сложи их локально, и сортируй сколько угодно.
Я бы так сделал.


 
AFrolov   (2002-09-30 12:31) [7]

А с помощью чего это лучше сделать?


 
3JIA9I CyKA   (2002-09-30 12:34) [8]

Тут уже не совет нужен, а фантазия. Придумай кучу вариантов; исключи неприемлемые; выбери самый клёвый. 8)


 
AFrolov   (2002-09-30 12:39) [9]

Самое неприятное, что до меня это проделало уже много людей. Опять придется заниматься изобретением велосипеда. :-(.


 
Кулюкин Олег   (2002-09-30 12:49) [10]

2 AFrolov ©
1. Используйте TClientDataSet, он позволяет сортировать данные (в т.ч. по нескольким столбцам). Для отображения используйте RxDBGrid. Он умеет рисовать стрелки в заголокках.
2. Напишите свой класс, который будет хранить данные, и свой список этих классов. Отображать данные придется в ListView в виртуальном режиме.
Сортировать ручками (например доработанным методом QuickSort).


 
BlackTiger   (2002-09-30 14:20) [11]

Для бродящих по граблям или если надо быстро :-) :

Query1.Active := true; //можно опустить
Query1.Sort := "Field1 ASC, Field5 DESC";

Твоя задача - подставить название полей.
Либо используй EhLib (тут пролетала ссылка), там в примере все понятно.
Никакого обновления не происходит - сортируются только уже выбранные данные.


 
Prooksius   (2002-09-30 14:27) [12]

FIBPlus - там есть процедуры такие:

procedure Sort(DataSet: TFIBCustomDataSet; aFields: array of const; Ordering: array of Boolean);
procedure FastSort(DataSet: TFIBCustomDataSet; FieldNo: Integer; Ordering: Boolean);


сортируют без переоткрытия результаты уже открытого запроса.


 
3JIA9I CyKA   (2002-09-30 14:28) [13]

8)


 
AFrolov   (2002-09-30 14:37) [14]

Про то и вопрос был.

> BlackTiger (30.09.02 14:20)

Огромное спасибо.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
6-68893
Weber
2002-08-13 09:42
2002.10.21
Где-то месяца 2-3 назад здесь пролетала тема насчет создания ..


3-68604
- Andrew -
2002-09-27 18:24
2002.10.21
Отображение вычисляемого поля в DBGrid


4-69090
KIRILL_R
2002-09-04 18:14
2002.10.21
Копирование в буфер содержимого окна


3-68651
PAVELsinicinV
2002-09-30 16:02
2002.10.21
какая функция возвращает код символа (char -> numeric) ?


8-68883
eviruswork
2002-06-23 14:37
2002.10.21
BMP -> JPG





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский