Форум: "Базы";
Поиск по всему сайту: 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.73 MB
Время: 0.036 c
1-19253           NLO                   2002-02-20 07:22  2002.03.07  
У TreeView свойство RightClickSelect = true как получить текст выделенного узла


1-19241           Baz                   2002-02-19 15:14  2002.03.07  
Хэндл чего я взял?


3-19089           NOV                   2002-02-09 11:05  2002.03.07  
Select Date From ....


1-19157           vitnt2000             2002-02-21 12:14  2002.03.07  
Приложение без формы


1-19230           Kolyan                2002-02-12 17:30  2002.03.07  
Дочерняя форма в Dll