powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
11 сообщений из 11, страница 1 из 1
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38529193
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, в форме грид, в init формы создается курсор, данные для отображения грида формирую динамически (количество колонок, шапки, ширина и прочее). В курсоре к примеру 50 полей. Как мне по умолчанию сделать скролл вправо, на последнюю колонку?
...
Рейтинг: 0 / 0
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38529253
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А. С.Привет, в форме грид, в init формы создается курсор, данные для отображения грида формирую динамически (количество колонок, шапки, ширина и прочее). В курсоре к примеру 50 полей. Как мне по умолчанию сделать скролл вправо, на последнюю колонку?

Код: sql
1.
ThisForm.Grid.ColumnEnd.SetFocus()
...
Рейтинг: 0 / 0
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38530232
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только следует учитывать тот факт, что использование setFocus() в init-формы может привести к самым разнообразным глюкам из-за нарушения нормальной последовательности срабатывания событий открытия формы. Поэтому для setfocus() надо либо использовать одноразовый таймер, либо поместить эту команду в activate-формы, либо использовать DOS-прием с клавиатурными макросами.

PS: Хотя, конечно, довольно странный дизайн, вывести вперед 50 столбцов, и тут же их спрятать. Может, просто вывести последний столбец первым?
...
Рейтинг: 0 / 0
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38531535
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
там статистика оплат в хронологическом порядке, неудобно будет наоборот смотреть, спасибо за совет, попробую
...
Рейтинг: 0 / 0
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38531546
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с ThisForm.Grid.ColumnEnd.SetFocus() не прокатило, пишет "Неизвестный элемент"
...
Рейтинг: 0 / 0
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38531654
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А. С.с ThisForm.Grid.ColumnEnd.SetFocus() не прокатило, пишет "Неизвестный элемент"

Мдя

Держи код над которым не надо думать, конечно же если на форме есть обьект ThisForm.Grid1:

Код: sql
1.
ThisForm.Grid1.Columns(ThisForm.Grid1.ColumnCount).SetFocus()
...
Рейтинг: 0 / 0
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38534010
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWist,

Мдякалка не болит? Не работает такой код, пробовал естественно.
у меня в гриде AllowCellSelection стоит в .F.

пока обошелся тупым кодом
FOR nn=1 TO 40
thisform.grid1.DoScroll(7)
ENDFOR
...
Рейтинг: 0 / 0
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38534024
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А. С.PaulWist,

Мдякалка не болит? Не работает такой код, пробовал естественно.
у меня в гриде AllowCellSelection стоит в .F.

пока обошелся тупым кодом
FOR nn=1 TO 40
thisform.grid1.DoScroll(7)
ENDFOR


Мдя, а у меня переходит, что я делаю не так

Код: sql
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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
PUBLIC o

o = CREATEOBJECT('gridcommand')
o.show(1)

DEFINE CLASS gridcommand AS form


	DoCreate = .T.
	Caption = "Form1"
	Name = "Form1"


	ADD OBJECT grid1 AS grid WITH ;
		Height = 169, ;
		Left = 12, ;
		Top = 12, ;
		Width = 349, ;
		Name = "Grid1"
		AllowCellSelection = .F.

	ADD OBJECT command1 AS commandbutton WITH ;
		Top = 192, ;
		Left = 12, ;
		Height = 37, ;
		Width = 349, ;
		Caption = "Æìè", ;
		Name = "Command1"

PROCEDURE init

	CREATE CURSOR test (f1 int, f2 c(10), f3 c(30),f4 int,f5 int,f6 int,f7 int,f8 int,f9 int,f10 int)
	INSERT INTO test (f1, f2, f3) VALUES (1, 'One', 'Three')

	WITH thisform.grid1
		.recordsource = 'test'
		.ColumnCount = 10	
		.addproperty('nColumn', 1)
	ENDWITH 

ENDPROC 

PROCEDURE command1.click
	WITH thisform.grid1
		IF .nColumn = 1
			.Columns(.ColumnCount).SetFocus()
			.nColumn = .ColumnCount
		ELSE 
			.Columns(1).SetFocus()
			.nColumn = 1
		ENDIF 	
		
	ENDWITH 	
ENDPROC 

ENDDEFINE
...
Рейтинг: 0 / 0
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38534031
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про AllowCellSelection забыл :)

Код: sql
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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
PUBLIC o

o = CREATEOBJECT('gridcommand')
o.show(1)

DEFINE CLASS gridcommand AS form


	DoCreate = .T.
	Caption = "Form1"
	Name = "Form1"


	ADD OBJECT grid1 AS grid WITH ;
		Height = 169, ;
		Left = 12, ;
		Top = 12, ;
		Width = 349, ;
		Name = "Grid1", ;
		AllowCellSelection = .F.

	ADD OBJECT command1 AS commandbutton WITH ;
		Top = 192, ;
		Left = 12, ;
		Height = 37, ;
		Width = 349, ;
		Caption = "Æìè", ;
		Name = "Command1"

PROCEDURE init

	CREATE CURSOR test (f1 int, f2 c(10), f3 c(30),f4 int,f5 int,f6 int,f7 int,f8 int,f9 int,f10 int)
	INSERT INTO test (f1, f2, f3) VALUES (1, 'One', 'Three')

	WITH thisform.grid1
		.recordsource = 'test'
		.ColumnCount = 10	
		.addproperty('nColumn', 1)
		.AllowCellSelection = .F.
	ENDWITH 

ENDPROC 

PROCEDURE command1.click
	WITH thisform.grid1
		.AllowCellSelection = .t.
		IF .nColumn = 1
			.Columns(.ColumnCount).SetFocus()
			.nColumn = .ColumnCount
		ELSE 
			.Columns(1).SetFocus()
			.nColumn = 1
		ENDIF 	
		.AllowCellSelection = .f.
		
	ENDWITH 	
ENDPROC 

ENDDEFINE
...
Рейтинг: 0 / 0
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38549989
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну разве что так...
Спасибо
...
Рейтинг: 0 / 0
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
    #38550011
А. С.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю за нормальный ответ, заработало. Тупанул что можно свойство AllowCellSelection выключить.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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