Форум: "Базы";
Поиск по всему сайту: 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.024 c
1-19269           hooky-mars            2002-02-20 19:19  2002.03.07  
Tstrings


1-19266           Stiky                 2002-02-20 15:37  2002.03.07  
Полноэкранное приложение


1-19209           Игорь М               2002-02-19 10:44  2002.03.07  
Печать на LBP 810


6-19273           T2                    2001-12-14 03:15  2002.03.07  
DialUp


1-19188           Egor111               2002-02-18 17:04  2002.03.07  
Преобразование типов данных