Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
3-7822
Beginner2
2002-09-12 10:09
2002.10.03
DBGrid+ADOTable


1-7998
[BAD]Angel
2002-09-21 13:10
2002.10.03
Помогите с сетевым окружением!


1-8028
Porolonchick
2002-09-20 16:07
2002.10.03
TreeView.


1-7913
stas_a
2002-09-23 10:38
2002.10.03
Закрыть другую прогу


3-7816
SteelHorse
2002-09-12 10:20
2002.10.03
Кодировки в dBase-файлах, импорт в Office




   Наверх