Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.03;
Скачать: CL | DM;

Вниз

КАК: Сортировка грида, не трогая источника данных.   Найти похожие ветки 

 
BlackTiger   (2002-09-14 10:26) [0]

Везде сортируется слишком топорно - ловишь нажатие на заголовок, а потом в Query модифицируешь "ORDER BY" и делается Requery.

А вот у меня Query - результат навороченной хранимой процедуры, генерирующей crosstab, и каждый Requery выполняется от 30 секунд до 2-3 минут, в зависимости от установок.

Как сортировать ТОЛЬКО колонки грида, не трогая источник?
Может кто подскажет?

З.Ы.: Насколько я представляю - это что-то вроде операций с отключенным источником данных, но как это реализовать - не имею понятия.


 
Polevi ©   (2002-09-14 11:20) [1]

индекс на клиенте пробовал ?


 
Delirium ©   (2002-09-14 11:41) [2]

Это легко сделать используя клиентский курсор ADO - ADOQuery1.CursorLocation:=clUseClient, у активной выборки откулючаем соединение с сервером ADOQuery1.Connection:=nil и сортируем как угодно: ADOQuery1.Sort:="MyField1 ASC, MyField2 DESC". Можно даже индексировать, правда реализация _RecordSet в Delphi делает Properties - readonly, но всегда можно "обмануть" компилятор: Variant(ADOQuery1.Recordset).Fields["MyField1"].Properties["Optimize"]:=True;


 
Dmitriy Polskoy ©   (2002-09-14 11:45) [3]

У меня индекс не работает. Не знаю почему. Меняю индекс - ни каких изменений в сортировке.


 
kaif ©   (2002-09-14 12:33) [4]

Я слышал, что существуют навороченные grid-ы, имеющие возможность сортировки набора на стороне клиента (без перезапроса)


 
Lola ©   (2002-09-14 13:29) [5]

Кажется в EhLib грид с сортировкой


 
Lola ©   (2002-09-14 13:30) [6]

Только сейчас увидела тут же ветку: http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1031925073&n=1


 
sniknik ©   (2002-09-14 13:51) [7]

зачем нужны навороченные компоненты? самый простой способ
Delirium © (14.09.02 11:41)
ADOQuery1.Sort:="MyField1";
сортировка по столбцу на клиенте. или ты не Ado используеш?
(по моему и отключать ничего не надо все одно слиентский датасет отсортируется)


 
Delirium ©   (2002-09-14 14:03) [8]

> sniknik

Про отключение: я просто показал, как это элементарно с ADO, действительно и сортировать, и отимизировать ("индексировать") можно "на коннекте".



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

Текущий архив: 2002.10.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
6-8080
Ernie
2002-07-08 01:27
2002.10.03
Помогите с передачей файлов.


1-8024
kex86
2002-09-20 01:47
2002.10.03
Почему на 9910-ый проход циклом по этому коду система начинает


14-8126
Anatoly Podgoretsky
2002-09-07 17:19
2002.10.03
День рождения у Андрея Юдина


7-8182
Ученик
2002-07-24 10:42
2002.10.03
Перезапуск сервиса


1-8017
testpu
2002-09-21 20:47
2002.10.03
Как для свойства типа перечисление отобразить НЕ ВСЕ элементы