Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Три Grid-а и одна таблица. / 11 сообщений из 11, страница 1 из 1
08.11.2006, 12:48
    #34111845
OMOH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
Есть форма на ней находятся 3 Grid-а отображающие одну таблицу. Выглядит это так 3 Grid-а ра сположены на однм уровне и имеют одинаковую длинну, 1 и 3 Grid-ы отображают колонки nаблицы типа Logical, а в центральном Grid-е идут основные данные.
Так вот надо что-бы при перемещении по строкам одного из Grid-ов такиеже пермещения происходили и в остальных Grid-ах.
После Refresh-eй и Setfocus-ов строки в Gridах находятся на одной записи таблицы, но не на одном уровне позицинирования в самом гриде т.е. в одном гриде 1я строка от верха в другом 3я строка.
P.S. VFP8
...
Рейтинг: 0 / 0
08.11.2006, 13:58
    #34112226
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
Синхронизация нескольких Grid теоретически возможна, но слишком сложно (Grid.SetFocus()+Grid.ActiveRow+Grid.DoScrool()). Проще использовать один Grid

Если надо логически разделить 3 части, то создай дополнительные пустые столбцы (с пустым значением Column.ControlSource), установи у этих столбцов нужную ширину и покрась их в какой-нибудь цвет (Column.BackColor).
...
Рейтинг: 0 / 0
08.11.2006, 14:30
    #34112415
OMOH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
С помощью кода
Код: plaintext
1.
2.
3.
4.
akt=THISFORM.grid1.ACTIVEROW

THISFORM.grid2.ACTIVATECELL(akt, 1 )
THISFORM.grid2.SetFocus()
THISFORM.grid1.SetFocus()

помещенного в AfterRowColChange Grid1. Гриды синхронизируются.
Но есть засада, если двигаться в видимой облости или ползти в низ все good.
А если ползти в вех за видимую облость или щелкнуть по гриду перетащив Scroll то Scrollы гридов разбегаются.
...
Рейтинг: 0 / 0
08.11.2006, 14:40
    #34112467
OMOH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
А три Grid-а нодо для удобства ввода, в концевых гридах поставлен Check куда пользователь ставит галочки, мол выбрал. Так как поля таблицы в длинну в форму невлазут оставить их в одном Grid-е неудобно, придется пользоваться горизонтальным Scroll-ом.
...
Рейтинг: 0 / 0
08.11.2006, 14:46
    #34112504
из дурдома
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
чесн.слово - дурдом "красный огонек"
...
Рейтинг: 0 / 0
08.11.2006, 17:05
    #34113247
OMOH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
Можно както синхронизировать Scroll?
...
Рейтинг: 0 / 0
08.11.2006, 17:32
    #34113387
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
OMOHА три Grid-а нодо для удобства ввода, в концевых гридах поставлен Check куда пользователь ставит галочки, мол выбрал. Так как поля таблицы в длинну в форму невлазут оставить их в одном Grid-е неудобно, придется пользоваться горизонтальным Scroll-ом.

Установи для грида
1. Grid.SplitBar = .t.
2. Grid.Partition = 100
...
Рейтинг: 0 / 0
08.11.2006, 20:59
    #34113919
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
2OMOH то що ВЫ сделали можно назвать тока нехорошим словом )))
весело было ....
никогда не редактируйте таблицу в гриде )
самое малое это блокировка текущей записи - раз
ну и т.д. еще много мелких гадостей Вам гарантировано ...

2PaulWist
могу поспорить он это в курсор не выбирал )))
лучше Вы бы ему по рукам дали )
...
Рейтинг: 0 / 0
09.11.2006, 09:46
    #34114490
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
leaf...

2PaulWist
могу поспорить он это в курсор не выбирал )))
лучше Вы бы ему по рукам дали )

Здесь и спорить не о чем, автор об этом сам говорит

OMOH Есть форма на ней находятся 3 Grid-а отображающие одну таблицу .

По рукам пока не зачем давать, конкретно для этой задачи не самое лучшее решение, а так если человек научиться синхронизировать гриды, в дальнейшем пригодиться.
...
Рейтинг: 0 / 0
09.11.2006, 15:06
    #34116402
OMOH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
Есть синхронизация!
Код: 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.
akt=THISFORM.grid1.ACTIVEROW


	aktrow1=THISFORM.grid1.RelativeRow

thisform.LockScreen= .T.


	THISFORM.grid2.ACTIVATECELL(akt, 1 )
	THISFORM.grid2.SetFocus()

aktrow2=THISFORM.grid2.RelativeRow

		IF aktrow2>aktrow1
		
		   DO while aktrow2<>aktrow1
		    THISFORM.grid2.DoScroll( 1 )
		  	aktrow2=aktrow2- 1 
		   ENDDO 
		   
	  	ENDIF 
	  	
	   IF aktrow2<aktrow1
			
		   DO while aktrow2<>aktrow1
		    THISFORM.grid2.DoScroll( 0 )
		    aktrow2=aktrow2+ 1 
		   ENDDO 
		   
	  	ENDIF 
	  	
thisform.LockScreen= .F.

THISFORM.grid1.SetFocus()

Помещаем этот код в AfterRowColChange Grida и все бегает как надо.
При работе с таблицей из 1245 записей тормозов ненаблюдается.

А Grid.Partition = 100 нето он разбивает Grid на адинаковые части, а мне надо
только два Column-а отделить.

P.S.
Хотьбы кто дельным советом помог, все самому делать пришлось.
...
Рейтинг: 0 / 0
09.11.2006, 19:41
    #34117464
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Три Grid-а и одна таблица.
пригодиться то оно пригодиться
только для чего?
попалась мне прога гос. налоговой структуры на фоксе.
Не заглядывая в код видно что автор намудрил в AfterRowColChange
причем замутил конкретно )
А я перед этим людям объяснял что фокс хороший язык....

остаюсь при своём мнении как была (нехорошее слово) так и осталась
нет никакой необходимости замораживать экран
даже на время
и потом все эти прыжки с setfocus()
короче как говорят китайские мастера: "я делаю это по другому" ))
удачи с бубном и бусами и проворства в танце )))

з.ы.
1300 записей это много )
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Три Grid-а и одна таблица. / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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