powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сортировка по столбцам
12 сообщений из 12, страница 1 из 1
Сортировка по столбцам
    #33722212
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Может, кто чего подскажет.
Хотелось бы вот что - щелкнуть на заголовке столбца грида и весь грид отсортировался бы по этому столбцу.
Есть только один путь - индексация по полям и на клике по заголовку подключать соответствующий индекс?
Или есть что-то встроенное в фоксе? Или вообще это можно сделать попроще?
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33722224
S866
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В любом случае клик хидера обрабатывать нужно
я лично делаю так как вы описали
т.е.
Код: plaintext
1.
set order to myindex
thisform.mygrid.refresh
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33722305
Sea.Starry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только что сделал сортировка осуществляется путем введения параметра на ORDER BY в LV и при щелчке на header'e делается REQUERY() LV и подставляется новое значение на параметр
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33722320
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33725552
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Sea.Starry!

В общем случае это весьма неоптимально - повторно исполнять запрос, тогда
как вполне можно обойтись средствами самого клиента (VFP в данном случае)
для изменения порядка следования строк.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33725617
Sea.Starry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И как мне сортировать например 8 столбцов мне нужно такая сортировка

7+1+4

Мне что делать 40 индексов для всех возможных ситуаций?
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33725625
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sea.StarryИ как мне сортировать например 8 столбцов мне нужно такая сортировка

7+1+4
Это каким же хитрым образом пользователь должен щелкнуть по одному заголовку столбца, что попросить так отсортировать список?

Sea.StarryМне что делать 40 индексов для всех возможных ситуаций?
Делать индексы по мере необходимости . Неужели пользователь будет щелкать на все столбцы подряд?

Щелкнул пользователь на столбец - проверяешь, есть ли нужный индекс. Если есть делаешь его главным, нет - создаешь.

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

Кстати, вполне вероятно, что построить 40 индексов не займет так уж много времени. Все зависит от объема выборки.

Можно еще вместо Grid использовать AtiveX ListView. В него уже "зашита" реакция на нажатие столбца. Ну, с небольшим программированием. Хотя тормоза будут при заполнении этого ListView.
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33725709
Sea.Starry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi Владимир

Очень просто программу Парус знаешь?
Там через ctr+ mouse click можно задавать сортировку на несколько столбцов

Начет ListView он не подойдет вообще лишь для небольшой группы данных а заполнять scanom этот красивый навороченный control мне нехочеться
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33725976
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sea.StarryHi Владимир

Очень просто программу Парус знаешь?
Там через ctr+ mouse click можно задавать сортировку на несколько столбцов

Так и с помощью GRID VFP такое не очень сложно сделать!
Глянь тут:http://www.caws.atnet.ru/vfox/grid.html
С уважением, Алексей
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33728523
Sea.Starry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В этом тормозном классе грида идет постоянное построение индексов.

Так какая разница?

lcOrder = "field ASC, field1 DESC"
REquery()
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33728577
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sea.StarryВ этом тормозном классе грида идет постоянное построение индексов.

Так какая разница?

lcOrder = "field ASC, field1 DESC"
REquery()
Вы не очень внимательно изучали класс SMART_GRID
1. Если индекса нет, то он, разумеется, строится.
2. Если индекс уже когда-то был построен, то делается просто SET ORDER TO...
3. Если меняется направление сортировки, то достаточно SET ORDER TO.. ASCENDING (DESCENDING)
4. Если требуется строить составной индекс и добавляется (удаляется) колонка к индексу, то придется индекс перестраивать.
А как вы хотите? Другого способа нет. Да и скорось построения индекса в VFP очень велика. Я полагаю на экране читать данные более,чем несколько тыс. строк не имеет смысла.
А причем тут lcOrder = "field ASC, field1 DESC"?!
Вы что каждый раз заново УДАЛЕННЫЙ View дергать собираетесь при щелчке по заголовку очередной колонки. Я вас уверю, что VFP индекс построит гораздо быстрее, чем сервер выполнит сортировку. Сортировка на сервера это вообще та операция, которуя надо избегать любым способом. Собственно говоря, клиент VFP как раз и позволяет все операции типа сортировка (да еще и по нескольким столбцам), допоиск и пр. переложить на клиента.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Сортировка по столбцам
    #33728789
Sea.Starry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ясно Aleksey спасибо
буду делать через индексы
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сортировка по столбцам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]