Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / GRID i sortirovka / 10 сообщений из 10, страница 1 из 1
31.07.2006, 11:15
    #33888514
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRID i sortirovka
Voznik taoj voprosik. Jestj li vozmozhnostj sortirovatj dannije v Gride po kakomu-libo polju ne ispolzuja zaprosi? Nuzhno chtobi Grid bil naprjamuju podkljuchen k tablice
...
Рейтинг: 0 / 0
31.07.2006, 11:38
    #33888609
Roman Safronov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRID i sortirovka
dj_ravenVoznik taoj voprosik. Jestj li vozmozhnostj sortirovatj dannije v Gride po kakomu-libo polju ne ispolzuja zaprosi? Nuzhno chtobi Grid bil naprjamuju podkljuchen k tablice
Я дела так: перед запуском формы, где есть такой Грид, запускалась прога, в которой из нужной создавалась врЕменная таблица, к каждому полю, где хотелось бы сортировку, навешивал индексы по и против алф. порядка. Уже к ней присоединял Грид, а по (двойному) клику по заголовку менял сортировку в таблице.
...
Рейтинг: 0 / 0
31.07.2006, 11:40
    #33888616
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRID i sortirovka
hm, ne optimalnoje reshenije. mozh jestj u kogo drugije predlozhenija?
...
Рейтинг: 0 / 0
31.07.2006, 11:52
    #33888672
Roman Safronov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRID i sortirovka
dj_ravenhm, ne optimalnoje reshenije. mozh jestj u kogo drugije predlozhenija?
Да, возможно не оптимальное, но работает всегда так,как надо: сортировка в Гриде меняется так: SET INDEX ON <имя индекса> навешиваем на таблицу и обновляем. Причём после закрытия формы эту таблицу можно (нужно) удалить, чтобы не мешала. В принципе, индексы можно навесить сразу в основной таблице, но объём её при этом будет ...
...
Рейтинг: 0 / 0
01.08.2006, 10:10
    #33890994
Roman Safronov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRID i sortirovka
Roman SafronovSET INDEX ON
SET INDEX TO

Видимо других идей по сортировке нет, придётся пользоваться этой
...
Рейтинг: 0 / 0
01.08.2006, 10:32
    #33891074
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRID i sortirovka
dj_ravenVoznik taoj voprosik. Jestj li vozmozhnostj sortirovatj dannije v Gride po kakomu-libo polju ne ispolzuja zaprosi? Nuzhno chtobi Grid bil naprjamuju podkljuchen k tablice
Я это выполняю через индексы.... Пример тут: http://www.caws.atnet.ru/vfox/grid.html
С уважением, Алексей.
...
Рейтинг: 0 / 0
01.08.2006, 18:31
    #33892940
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRID i sortirovka
Senks, schas gljanu :)
...
Рейтинг: 0 / 0
01.08.2006, 18:50
    #33892996
AlikWishin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRID i sortirovka
Идея не моя но пользуюсь!
Процедура Клик Хедера
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
	Procedure Click
		Local lcControlSource, lcField, lcTable, llIsSetOrder

		lcControlSource = This.Parent.ControlSource
*!* Берем Алиас из ControlSource колонки
		lcTable = Getwordnum(lcControlSource, 1 ,'.') 
*!* Обработка Алиаса
***************************************************
		lcTmpStr	=	''
		For j = Len(lcTable) To  1  Step - 1 
			lcString	=	Substr(lcTable, j,  1 )
			If	Isalpha(lcString) .Or. lcString == '_'
				lcTmpStr	=	lcString	+	lcTmpStr
			Else
				Exit
			Endif
		Next
		lcTable	=	lcTmpStr
***************************************************
*!* Берем Fields из ControlSource колонки
		lcField = Getwordnum(lcControlSource, 2 ,'.')
*!* Обработка Поля
***************************************************
		lcTmpStr	=	''
		For j =  1  To Len(lcField)
			lcString	=	Substr(lcField, j,  1 )
			If	Isalpha(lcString) .Or. lcString == '_'
				lcTmpStr	=	lcTmpStr	+	lcString
			Else
				Exit
			Endif
		Next
		lcField	=	lcTmpStr
***************************************************
*!* Дальше обрабатываем по типам данных и соотв. формируем Индексное выражение Пример для типа Date
		If Vartype(&lcControlSource) = 'D'
			lcField = 'Dtos(' + lcField + ')'
		Endif
...
		Select (lcTable)
		lcTable = '.\data\' + lcField
		Index On &lcField To (lcTable) Compact
		Thisform.Refresh()

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

Чем могу! :-)
...
Рейтинг: 0 / 0
02.08.2006, 20:20
    #33895785
VIP_GEORGIA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRID i sortirovka
...
Рейтинг: 0 / 0
02.08.2006, 20:23
    #33895791
VIP_GEORGIA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GRID i sortirovka
Voobshe to luchshe vsego proindeksirovat tablici, zatem postroit GRID, nu a zatem v formu vstavit ActivX "SORTING DATA". Posle etogo zapustit formu, zatem click-aesh po nujnomy polu i sortiruesh.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / GRID i sortirovka / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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