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

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

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

7+1+4

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

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

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

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

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

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

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

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

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

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

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

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

lcOrder = "field ASC, field1 DESC"
REquery()
...
Рейтинг: 0 / 0
15.05.2006, 22:00
    #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
16.05.2006, 07:04
    #33728789
Sea.Starry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка по столбцам
Ясно Aleksey спасибо
буду делать через индексы
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сортировка по столбцам / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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