Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Grid.Column.Check  [new]
glamis
Member

Откуда:
Сообщений: 603
Не первый раз натыкаюсь и не могу понять в чем дело:
В конструкции Grid.Column.Check при попытке изменить знaчение Check (кликаю на него) выдается сообщение: Control is read-only!
Grid лежит на cursor созданном командой create, массовые замены типа repl all nado with !nado в нем проходят.
18 авг 09, 14:56    [7551825]     Ответить | Цитировать Сообщить модератору
 Re: Grid.Column.Check  [new]
PaulWist
Member

Откуда:
Сообщений: 2236
Сравнивайте свойкод

PUBLIC o
o = CREATEOBJECT('CheckInGrid')
o.show(1)

DEFINE CLASS checkingrid AS form


	Top = 0
	Left = 0
	Caption = "Form1"
	Name = "Form1"


	ADD OBJECT grid1 AS grid WITH ;
		Height = 229, ;
		Left = 12, ;
		Top = 12, ;
		Width = 349, ;
		Name = "Grid1"


	PROCEDURE Load
		CREATE CURSOR test (A i, B i)

		INSERT INTO test (A,B) VALUES (1,0)
		INSERT INTO test (A,B) VALUES (2,1)
		GO TOP IN test 

		SET MULTILOCKS ON 

		CURSORSETPROP("Buffering" ,5, 'test' )
	ENDPROC


	PROCEDURE Init
		WITH this.grid1
			.recordsource = 'test'
			.columncount = 2
			.column1.controlsource = 'test.A'
			.column2.addobject('Check1','checkbox')
			.column2.currentcontrol = 'Check1'
			.column2.check1.visible = .t.
			.column2.sparse = .f.
		ENDWITH 
	ENDPROC


ENDDEFINE
18 авг 09, 15:03    [7551870]     Ответить | Цитировать Сообщить модератору
 Re: Grid.Column.Check  [new]
glamis
Member

Откуда:
Сообщений: 603
Нет я описываю grid не кодом а строю в дизайнере
18 авг 09, 15:16    [7551958]     Ответить | Цитировать Сообщить модератору
 Re: Grid.Column.Check  [new]
glamis
Member

Откуда:
Сообщений: 603
PaulWist
PROCEDURE Init
WITH this.grid1
.recordsource = 'test'
.columncount = 2
.column1.controlsource = 'test.A'
.column2.addobject('Check1','checkbox')
.column2.currentcontrol = 'Check1'
.column2.check1.visible = .t.
.column2.sparse = .f.
ENDWITH
ENDPROC


ENDDEFINE[/src]


Но это все так
18 авг 09, 15:19    [7551979]     Ответить | Цитировать Сообщить модератору
 Re: Grid.Column.Check  [new]
PaulWist
Member

Откуда:
Сообщений: 2236
glamis

Но это все так


Тогда приведите проблемный репо-код.
18 авг 09, 16:45    [7552735]     Ответить | Цитировать Сообщить модератору
 Re: Grid.Column.Check  [new]
glamis
Member

Откуда:
Сообщений: 603
[quot PaulWistТогда приведите проблемный репо-код.[/quot]

В том-то и дело - проблемного кода и нет. по шагам:
в debug:
1. Grid1.Column3.check1.readonly=.f.
2. Кликаем по check
3. Grid1.Column3.check1.readonly=.t.

и ошибка: Control is read-only!

и все...

Была такая проблема (https://www.sql.ru/forum/actualthread.aspx?tid=664623&hl=glamis) предварительная отрисовка Grid помогла. Сейчас специально в Formset.load создал cursor, наложил его на Grid. Не помогло...
18 авг 09, 17:16    [7552971]     Ответить | Цитировать Сообщить модератору
 Re: Grid.Column.Check  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
1. Можно ли редактировать другие столбцы Grid?
2. Что является источником данных для Check? Т.е. что написано в Check1.ControlSource? А в Column3.ControlSource?
3. Нет ли явного программного изменение свойства ReadOnly?

А вообще-то, Павел прав. Создай тестовую формочку с тестовой же табличкой (или курсором) где видна проблема, заархивируй и положи во вложение.
18 авг 09, 19:44    [7553601]     Ответить | Цитировать Сообщить модератору
 Re: Grid.Column.Check  [new]
glamis
Member

Откуда:
Сообщений: 603
Попытался собрать тестовый пример - собрать-то собрал, но все работает.
Короче помогло такое изменение:
в .Column3.ControlSource было Nado, стало NadoMenyat.Nado и все заработало.
19 авг 09, 17:03    [7557863]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить