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




Вниз

Заголовки колонок Grid-а как кнопки для сортировки 


Dima Kopachev   (2002-02-10 02:24) [0]

заголовки колонок Grid-а могут быть с помощью свойства TitleButtons использованы как кнопки для изменения порядка сортировки отображаемых данных. Как это можно сделать?



Desdechado   (2002-02-10 17:00) [1]

обрабатывать событие от нажатия на заголовок и в нем - делай, что хочешь



Dima Kopachev   (2002-02-10 18:22) [2]

Это все понятно. Я обработаю нажатие на заголовки. Каким образом можно отсортировать записи. Это нужно делать с помощью индексов или еще каким-то образом?



wicked   (2002-02-10 18:55) [3]

2 Dima Kopachev

это зависит от того, откуда ты берёшь данные для grid"а.... если, например, это query (не уточняю, какой :), то можно хранить отдельно текст запроса и форматировать его в зависимости от того, заголовок какой колонки был нажат....
еще лучше - достань rxlib 2.75, там есть dbgrid, который умеет сам рисовать sortmarker... там же есть и пример, как это делать...



xim   (2002-02-11 02:43) [4]

procedure TMain.DBGrid1TitleClick(Column: TColumn);
if индех такой есть then
table1.IndexFieldNames := column.FieldName;
но у меня Paradox, на других таблицах не испытывал
а что за термин - TitleButtons? Где ты видел такое cв-во



ilysha   (2002-02-11 08:50) [5]

Есть так же отличная библиотека EhLib, компонент DBGrid которой, поддерживает массу интересных свойств и возможностей. От отечественный и бесплатный.
Если нужно, пиши.



Севостьянов Игорь   (2002-02-11 11:26) [6]

Как ни крути, а без ORDER BY не обойдешься, он более гибкий нежели индексы...



Alexandr   (2002-02-11 11:39) [7]

а вот если FIBPlus использовать, то там есть локальная сортировка.
Часто это то, что нужно



Fareader   (2002-02-11 12:58) [8]

Присоединяюсь к Alexandr ©, эта возможность позволяет повысить скорость выполнения запроса, за счет того, что в самом запросе отсутствует сортировка, а это экономит ресурсы сервера.



Alexandr   (2002-02-11 13:03) [9]

угу. Именно так. Иногда экономит. Иногда нет, иногда очень хорошо, иногда очень плохо.
Надо смотреть на конкретную ситуацию



Fareader   (2002-02-11 13:21) [10]

А когда не экономит и когда очень плохо?



Alexandr   (2002-02-11 13:33) [11]


когда сервер сортировку делает на основе индекса, а не через файл, то сервером сортируется гораздо быстрее.
Как часто-извращенный случай такого - при индексной сортировке по нескольким полям большого объема данных-сервер справится с этим ЛЕГКО, а вот клиент может загрузиться серьезно- ему ведь индексы недоступны. Да и еще вот FIBPlus при всем своем превосходном быстродействии при работе с dataSet (в том числе Locate, сортировка и прочее) имеет некоторые глюки при локальной сортировке. Тут можно иногда нарваться... Впрочем с глюками они там успешно борются...

Всегда плюс локальной сортировки в том, что не нужно перечитывать каждый раз с сервера- т.е. когда одни и те-же данные юзер постоянно пересортировывает от нефиг делать. Это особенно хорошо для большого объема данных- сеть fetch"ем не грузится, сервак на глупые сортировки не отвлекается.




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




Наверх





Память: 0.74 MB
Время: 0.033 c
14-19334          VuDZ                  2002-01-22 02:28  2002.03.07  
За или против наСильников?


1-19233           Geks                  2002-02-19 12:31  2002.03.07  
Как правильно передать строку в DLL или правильно ее обработать?


1-19186           MaXie                 2002-02-18 15:46  2002.03.07  
Группа элементов -> один параметр


1-19267           Stexen                2002-02-20 15:17  2002.03.07  
ФайлЫЫЫЫЫЫЫЫЫЫЫ


1-19169           x_andrey              2002-02-21 06:30  2002.03.07  
Excel & Delphi 5