powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обратиться к свойству Grid
23 сообщений из 23, страница 1 из 1
Обратиться к свойству Grid
    #33818405
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Что-то я после отпуска не могу элементарные вещи проделать.
Фокс ругается на строчку
Код: plaintext
THISFORM.grd1.column1.ControlSource="dissrc.sname"
говорит, что Unknown member COLUMN1. Хотя в Debuger'e вижу у грида коллекцию Columns. Количество колонок - две. Какой должен быть синтаксис обращения к свойству?
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818430
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кузнецов ИгорьДобрый день.
Что-то я после отпуска не могу элементарные вещи проделать.
Фокс ругается на строчку
Код: plaintext
THISFORM.grd1.column1.ControlSource="dissrc.sname"
говорит, что Unknown member COLUMN1. Хотя в Debuger'e вижу у грида коллекцию Columns. Количество колонок - две. Какой должен быть синтаксис обращения к свойству?

А может, вместо grd1 - grid1?
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818472
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет, здесь правильно. Я этому гриду присвоил имя grd1.
----------------------------------------------
Кто в армии служил - тот в цирке не смеется.
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818563
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может прокралась русская буква "c" в строке:

Код: plaintext
THISFORM.grd1.column1.ControlSource="dissrc.sname"
Перебейте ее еще раз.
С уважением, Алексей
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818585
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перебил - не помогает. По Suspend в окне команд уже все варианты перепробовал.
---------------------------------------------
Кто в армии служил - тот в цирке не смеется.
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818712
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В дебагере обьект Columns() раскрывается?
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818745
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На момент подачи команды

Код: plaintext
THISFORM.grd1.column1.ControlSource="dissrc.sname"

У Grid есть хотя бы один столбец? Т.е. не ПОСЛЕ открытия формы, а на тот момент, когда пытаешся обратится к столбцу.

Если вот так написать

Код: plaintext
1.
2.
3.
4.
5.
IF THISFORM.grd1.columnCount >  1 
	THISFORM.grd1.column1.ControlSource="dissrc.sname"
ELSE
	MessageBox("В Grid пока нет ни одного столбца")
ENDIF
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818752
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWistВ дебагере обьект Columns() раскрывается?
Нет, не раскрывается.
Name - columns, Value - (Collection), Type - A.
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818836
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может где-то курсор dissrc закрывается?
Или он уже открыт на момент окрытия формы, а потом сносится.
GRID уже "привязал", а при закрытии dissrc все колонки сносятся.
Откуда, вообще, берется курсор dissrc ?
С уважением, Алексей
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818860
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМНа момент подачи команды

Код: plaintext
THISFORM.grd1.column1.ControlSource="dissrc.sname"

У Grid есть хотя бы один столбец? Т.е. не ПОСЛЕ открытия формы, а на тот момент, когда пытаешся обратится к столбцу.

Если вот так написать

Код: plaintext
1.
2.
3.
4.
5.
IF THISFORM.grd1.columnCount >  1 
	THISFORM.grd1.column1.ControlSource="dissrc.sname"
ELSE
	MessageBox("В Grid пока нет ни одного столбца")
ENDIF


Столбцов нет. Выскочил MessageBox.
В окне свойств грида я указал количество столбцов, которое мне потребуется. Проблемную команду подаю по InteractiveChange другого контрола.
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818878
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KМожет где-то курсор dissrc закрывается?
Или он уже открыт на момент окрытия формы, а потом сносится.
GRID уже "привязал", а при закрытии dissrc все колонки сносятся.
Откуда, вообще, берется курсор dissrc ?
С уважением, Алексей
Курсор я создаю и наполняю значениями. В гриде хочу показать одно поле этого курсора в первой колонке, а во второй колонке показать CheckBox.
Изначально грид ни к чему не привязан.
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33818933
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где вы создаете курсор?
Если до запуска формы, то GRID имеет тенденция "автопривязываться" к открытому курсору.
С уважением, Алексей
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33819158
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KГде вы создаете курсор?
Если до запуска формы, то GRID имеет тенденция "автопривязываться" к открытому курсору.
С уважением, Алексей
Курсор создаю в этой же процедуре, непосредственно перед присвоением. Схема такая
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE CURSOR dissrc (sname C( 6 ))
FOR ...
   ...
   INSERT INTO dissrc VALUE ...
ENDFOR
THISFORM.grd1.column1.ControlSource="dissrc.sname"
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33819172
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пропадают настройки Grid, события столбцов, заголовков, ячеек

Если на этапе дизайна формы для RecordSource ничего не указано, то необходимо явно присвоить ему пустое значение. Для этого достаточно встать на это свойство и нажать Enter. Главное, чтобы значение свойства RecordSource было выделено жирным шрифтом. Пусть это будет все то же (None).
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33819315
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В INIT форме добавьте строчку:
THISFORM.grd1..RecordSource = ""
С уважением, Алексей
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33819546
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KВ INIT форме добавьте строчку:
THISFORM.grd1..RecordSource = ""
С уважением, Алексей
Это полумера. Как верно указал ВладимирМ, настройки всего грида сбрасываются при пересоздании источника данных. Я сейчас пытаюсь программно описать рассыпающийся грид после CREATE CURSOR.
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33819681
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кузнецов Игорь Aleksey-KВ INIT форме добавьте строчку:
THISFORM.grd1..RecordSource = ""
С уважением, Алексей
Это полумера. Как верно указал ВладимирМ, настройки всего грида сбрасываются при пересоздании источника данных. Я сейчас пытаюсь программно описать рассыпающийся грид после CREATE CURSOR.
Так вы и так его программно его инициируете!
Код: plaintext
THISFORM.grd1.column1.ControlSource="dissrc.sname"
Это же каш код. Он и является программной инициализацией 1-го столбца GRID.
Я полагаю, что вы и сам грид инициируете перед инициализацией колонок:
THISFORM.grd1.column1.RecordSource ="dissrc"
А преред тем, как закрыть (явно или не явно) курсор THISFORM.grd1.column1.RecordSource=""
С уважением, Алексей.
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33819735
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Init'e я решил не трогать грид. Буду формировать его, когда потребуется.
Мне осталось решить одну проблему.
На данный момент вот полный код события InteractiveChange, который формирует показ данных в гриде.
Код: 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.
GO RECORD (THIS.ListIndex) IN n1k
CREATE CURSOR dissrc (sname C( 6 ), chk L)
SELECT lsrc
FOR i= 0  TO  999 
	searchname=n1k.s1k+STRTRAN(STR(i, 3 )," ","0")
	LOCATE FOR sname=searchname
	IF !FOUND()
		INSERT INTO dissrc VALUES (searchname, .F.)
	ENDIF
ENDFOR
GO TOP IN dissrc 
WITH THISFORM.grd1
	.ScrollBars		=  2 
	.ColumnCount	  	=  2 
	.GridLines		  =  0 
	.RecordSourceType 	=  1 
	.RecordSource		="dissrc"
	.AllowHeaderSizing	=.F.
	.AllowRowSizing		=.F.
	.DeleteMark		=.F.
ENDWITH
WITH THISFORM.grd1.column1
	.ControlSource	="dissrc.sname"
	.Header1.Caption   ="Отсутствуют"
	.ReadOnly		= .T.
ENDWITH
WITH THISFORM.grd1.column2
	.AddObject("Chk1","CheckBox")
	.CurrentControl		="Chk1"
	.chk1.Caption		=""
	.Sparse			=.F.
	.Header1.Caption        ="Получить"
	.ControlSource		="dissrc.chk"
	.ReadOnly		=.F.
	.chk1.ReadOnly		=.F.
	.chk1.SpecialEffect	=  0 
ENDWITH
Так вот при попытке поставить птичку в CheckBox'e его свойство вдруг меняется на ReadOnly=.T. Почему?
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33819845
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
WITH THISFORM.grd1.column2
	.AddObject("Chk1","CheckBox")
	.VISIBLE	= .T.
ENDWITH
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33819863
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWist
Код: plaintext
1.
2.
3.
WITH THISFORM.grd1.column2
	.AddObject("Chk1","CheckBox")
	.VISIBLE	= .T.
ENDWITH

Может быть еще не помешает
Код: plaintext
.CurrentControl = "Chk1"
С уважением, Алексей.
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33819893
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-K PaulWist
Код: plaintext
1.
2.
3.
WITH THISFORM.grd1.column2
	.AddObject("Chk1","CheckBox")
	.VISIBLE	= .T.
ENDWITH

Может быть еще не помешает
Код: plaintext
.CurrentControl = "Chk1"
С уважением, Алексей.

Не только не помешает, а будет даже правильно.
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33819897
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To PaulWist.
Спасибо, помогло.
To Aleksey-K.
Это я указывал.
...
Рейтинг: 0 / 0
Обратиться к свойству Grid
    #33820685
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виноват, слона то я и не приметил :)
С уважением, Алексей
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обратиться к свойству Grid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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