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

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

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

Мдя

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

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

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

пока обошелся тупым кодом
FOR nn=1 TO 40
thisform.grid1.DoScroll(7)
ENDFOR
...
Рейтинг: 0 / 0
22.01.2014, 11:03
    #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
22.01.2014, 11:07
    #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
05.02.2014, 12:18
    #38549989
А. С.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
ну разве что так...
Спасибо
...
Рейтинг: 0 / 0
05.02.2014, 12:24
    #38550011
А. С.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В гриде куча колонок, как при входе в форму поставить указатель на последнюю?
Благодарю за нормальный ответ, заработало. Тупанул что можно свойство AllowCellSelection выключить.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / В гриде куча колонок, как при входе в форму поставить указатель на последнюю? / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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