:: Visual Foxpro, Foxpro for DOS
Grid и сообщение "Control is read-only"
Tany

Сообщений: 54
Откуда: Новороссийск
Дата регистрации: 16.04.2007
Ситуация такая.
В событии Load формы создаются несколько курсоров (рассмотрим два из них TmpMonth и TmpLg) командой CREATE CURSOR. Данные курсоры привязываются к объектам Grid соответственно (GrdMonth и GrdLg). Никаких ограничений в объектах Grid к доступу данных нет (проверено).
Есть возможность редактирования информации непосредственно в Gride. При этом при попытке интерактивного изменения данных в GrdMonth, выдается обидное сообщение "Control is read-only". В GrdLg все в порядке.
Но самое интересное: если в событии Load поменять местами команды CREATE CURSOR, т.е. сначала создать курсор TmpLg, потом TmpMonth (больше ничего не менять), то обидное сообщение возникает при попытке изменения данных в GrdLg. При этом отлично себя ведет GrdMonth.
Ничего не понимаю, помогите!


------------------
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
rhs72

Сообщений: 1934
Откуда: Алматы - Чарджоу
Дата регистрации: 21.03.2007
А моно кусочек кода создания курсоров?


------------------
"Знание того, что считать ответом, равносильно знанию ответа".
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
Tany

Сообщений: 54
Откуда: Новороссийск
Дата регистрации: 16.04.2007
CREATE CURSOR TmpLg(nSum N(15,2))
CREATE CURSOR TmpMonth (nKod N(4), nMonth N(2), cDoxKod C(4), nDoxod N(15,2), cSkKod C(3), nSkidka N(15,2))
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
rhs72

Сообщений: 1934
Откуда: Алматы - Чарджоу
Дата регистрации: 21.03.2007
Все ок.
Ищите ошибку в другом месте.


------------------
"Знание того, что считать ответом, равносильно знанию ответа".
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Цитата:
Control is read-only
Хм... Такой ошибки нет в фоксе. Что там на самом деле написано?


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
Tany

Сообщений: 54
Откуда: Новороссийск
Дата регистрации: 16.04.2007
В строке состояния "The control is read-only"
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
Burn

Сообщений: 5640
Откуда: Днепр
Дата регистрации: 02.01.2002
Грид создается динамически или нет?
Есть ли в нем другие столбцы с даннами из других таблиц, связаные по SET RELATION с источником грида?

>Такой ошибки нет в фоксе.
Ошибки нет. Есть сообщение
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
brsalpha

Сообщений: 165
Откуда: Томск
Дата регистрации: 05.10.2007
Цитата:
Все ок.
Ищите ошибку в другом месте.
добавить нечего - все работает
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
Tany

Сообщений: 54
Откуда: Новороссийск
Дата регистрации: 16.04.2007
Цитата:
Грид создается динамически или нет?
Нет
Цитата:
Есть ли в нем другие столбцы с даннами из других таблиц, связаные по SET RELATION с источником грида?
Нет. Только курсор (TmpLg), в котором одно поле. Ни реляции, ни фильтра нет...
Да, кстати, гриды находятся в контейнерах (для обработки событий GotFocus и LostFocus).
Сначала были подозрения на память, так как форма сложная и большая. Смущает то, что последний курсор (пробовала заменить на CREATE TABLE - тоже самое) нормально работает, а предпоследний нет. Исчерпалась. Гипнотизирую экран со вчерашнего дня.
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
В дебагере, что показывает Grid.RecordSource


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
rhs72

Сообщений: 1934
Откуда: Алматы - Чарджоу
Дата регистрации: 21.03.2007
Где-то в программе меняется св-во Readonly колонки или техбокса.
Открой дебаггер -> Открой окошко BreakPoints.
В окошке Type -> Break when expression chanched
В окошке Expression -> grid**.Сolumn**.Readonly=.T.
Жмакаем кнопку Add.
Запускаем форму и ждем когда дебаггер покажет злополучное место.
Предварительно в дизайнере проверить чтобы grid**.Сolumn**.Readonly=.F.

Надеюсь поможет ;)


------------------
"Знание того, что считать ответом, равносильно знанию ответа".




Исправлено 1 раз(а). Последнее : rhs72, 08.04.08 14:58
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
Tany

Сообщений: 54
Откуда: Новороссийск
Дата регистрации: 16.04.2007
Цитата:
В дебагере, что показывает Grid.RecordSource
В Debuggere все по-честному.
У GrdMonth.RecordSource = "TmpMonth" ..ReadOnly = .F.,
у GrdLg.RecordSource = "TmpLg" ..ReadOnly = .F.

Цитата:
Запускаем форму и ждем когда дебаггер покажет злополучное место.
Debugger делает вид, что злополучные места отсутствуют.


------------------




Исправлено 1 раз(а). Последнее : Tany, 08.04.08 15:16
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
SK@t

Сообщений: 270
Откуда: Минск
Дата регистрации: 20.09.2007
Совершенно случайно в своей задаче столкнулась с той же ерундой. Только у меня класс-контейнер с гридом. Помещаю его на форму. В качестве источника - курсор. При попытке что-то поменять в строке состояния control is read-only. По совету rhs72 проделала вышеуказанные действия - ничего:al:.
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
SK@t

Сообщений: 270
Откуда: Минск
Дата регистрации: 20.09.2007
Хм, убрала из инита грида строчки типа:
this.grid1.column2.ControlSource = 'vokulp'
Оставила только:
this.grid1.RowSource = 'view1'
Все заработало как надо.
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
Tany

Сообщений: 54
Откуда: Новороссийск
Дата регистрации: 16.04.2007
Цитата:
В окошке Expression -> grid**.Сolumn**.Readonly=.T.
Методом многочасового гипноза выяснилось: у TextBoxа в Gridе своя жизнь!
Свойство ReadOnly самопроизвольно меняется. Выясняю, при каких обстоятельствах...

Обычно это происходит при событии KeyPress, т.е. при GotFocus ячейки Grid - еще ReadOnly=.F., как только нажимаешь цифру - ReadOnly=.T.
Событие KeyPress формы проверено и отлажено. Напомню, что если курсор в Load создан последним, то все в порядке. Чудеса. Кто бы сказал, что столкнулся с этим, не поверила бы.



Исправлено 2 раз(а). Последнее : Tany, 08.04.08 17:12
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
В своем природном виде грид себя так не ведет, надо искать ошибки в программе. Было бы проще не гадать на кофейной гуще, а увидеть работаспособный код, воспроизводящий проблему. Т.е. я создаю PRG, помещаю туда опубликовннай код и он работает, как описано.
В правилах конференции об этом есть.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.




Исправлено 1 раз(а). Последнее : Влад Колосов, 08.04.08 17:27
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
FoxHunter

Сообщений: 161
Дата регистрации: 29.03.2005
Чудеса какие-то. Рекомендую постучать в бубен -> почистить контейнер формы...

Можно также попробовать в KeyPress
IF this.readonly
NODEFAULT
this.readonly = .F.
ENDIF
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
Tany

Сообщений: 54
Откуда: Новороссийск
Дата регистрации: 16.04.2007
Влад Колосов
Т.е. я создаю PRG, помещаю туда опубликовннай код и он работает, как описано.
В правилах конференции об этом есть.
Этого я еще не умею (но буду стараться научиться).

И еще. После того, как переименовала курсор (уменьшила наименование до 8 символов, был TmpLgCo12, стал TmpLgCo1), все стало работать как колокольчики у бубна. Всем большое спасибо.
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Очень рекамендую брать алиасы в кавычки, это поможет избежать "загадочного" поведения программы.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: Grid и сообщение "Control is read-only"
PavlikPavlikovich
Автор

Сообщений: 170
Дата регистрации: 21.07.2010
Прошло 10 лет, а меня такая же фигня.
Еще до запуска формы. Было установлено отношение грида №1 с гридом №2 (оба на этой форме)
Добавил на форму еще один грид №3. Установил отношение грида №2 с гридом №3. (в том же месте. т.е. до запуска формы с гридами)
Столбцы с установкой ReadOnly=.F. стали недоступны для редактирования (Но не все. В гриде около 17 столбцов. Не удалось редактировать только две колонки из трех разрешенных)

Думаю беда... Прочитал эту ветку форума. Поменял отношения курсоров местами. (т.е. отношение грида №1 в котором наблюдались глюки я оставил последним).
И всё заработало как надо.



Исправлено 1 раз(а). Последнее : PavlikPavlikovich, 17.02.18 13:01
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 32 vnkor  (Гостей: 31)

© 2000-2024 Fox Club 
Яндекс.Метрика