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

Если надо логически разделить 3 части, то создай дополнительные пустые столбцы (с пустым значением Column.ControlSource), установи у этих столбцов нужную ширину и покрась их в какой-нибудь цвет (Column.BackColor).
...
Рейтинг: 0 / 0
Три Grid-а и одна таблица.
    #34112415
OMOH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С помощью кода
Код: 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
Три Grid-а и одна таблица.
    #34112467
OMOH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А три Grid-а нодо для удобства ввода, в концевых гридах поставлен Check куда пользователь ставит галочки, мол выбрал. Так как поля таблицы в длинну в форму невлазут оставить их в одном Grid-е неудобно, придется пользоваться горизонтальным Scroll-ом.
...
Рейтинг: 0 / 0
Три Grid-а и одна таблица.
    #34112504
из дурдома
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чесн.слово - дурдом "красный огонек"
...
Рейтинг: 0 / 0
Три Grid-а и одна таблица.
    #34113247
OMOH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно както синхронизировать Scroll?
...
Рейтинг: 0 / 0
Три Grid-а и одна таблица.
    #34113387
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OMOHА три Grid-а нодо для удобства ввода, в концевых гридах поставлен Check куда пользователь ставит галочки, мол выбрал. Так как поля таблицы в длинну в форму невлазут оставить их в одном Grid-е неудобно, придется пользоваться горизонтальным Scroll-ом.

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

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

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

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

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

По рукам пока не зачем давать, конкретно для этой задачи не самое лучшее решение, а так если человек научиться синхронизировать гриды, в дальнейшем пригодиться.
...
Рейтинг: 0 / 0
Три Grid-а и одна таблица.
    #34116402
OMOH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть синхронизация!
Код: 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
Три Grid-а и одна таблица.
    #34117464
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пригодиться то оно пригодиться
только для чего?
попалась мне прога гос. налоговой структуры на фоксе.
Не заглядывая в код видно что автор намудрил в AfterRowColChange
причем замутил конкретно )
А я перед этим людям объяснял что фокс хороший язык....

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

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


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