Главная страница
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.015 c
6-8103
ga3
2002-08-01 04:07
2002.10.03
насчет конфигурации IE


3-7808
Шурик Ш
2002-09-11 12:56
2002.10.03
Запрет редактирования колонки DBGrid


1-8036
MsGuns
2002-09-22 17:01
2002.10.03
Не создает экземпляр класса TCollection


3-7776
Engel
2002-09-14 16:19
2002.10.03
Как лучше осуществлять нумерацию записей в сетевой базе?


14-8109
Abajun
2002-09-06 12:45
2002.10.03
Win2000 и win98 на одном компе