powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы с гридом...
7 сообщений из 7, страница 1 из 1
Проблемы с гридом...
    #32258371
iwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здраствуйте!
ответьте пожалуйста на один вопрос.
у меня есть две формы,одна из которых является набором форм.
в наборе форм на одной из форм имеется грид, в котором отражаются данные из таблицы1 и связанной с ней таблицы2.

на другой форме, не входящей в набор отражается грид для таблицы2.

если я открываю их по отдельности, то все нормально, но если я открываю набор форм и работаю с формой, где есть связанные таблицы ,а затем открываю форму , где грид к таблицы2, но уже связь с другими таблицами отсутствует, то гриды на обоих формах становятся пустыми...

в чем проблема...

может быть имена курсоров совпадают или с алиасами что-то???

Заранее спасибо!
...
Рейтинг: 0 / 0
Проблемы с гридом...
    #32258409
Dushes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.
Это есть один из стандартный глюков грида - реляция между таблицами остается даже после активизации и переактивизации окна, и никакой рефреш тут не поможет...хотя реляции вроде как и отключены...странно, да;)///
Попробуй обнулять recordsource, а затем его заново восстанавливать, ну и соответвенно все настройки column-ов, помогает....Я одном проекте вообще далал grid.savetoclass, удалял объект грида с формы, а затем его заново восстанавливал из библиотеки классов, созданной посредством savetoclass и клал на форму снова.....В этом был плюс - положения всех колонок, настроенных пользователем, также их ширины - все восстанавливалиь заново ну и соответственно источник данных, привязанный к гриду.....

С уважением
...
Рейтинг: 0 / 0
Проблемы с гридом...
    #32258545
iwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какие еще могут быть рецепты против этого глюка!!!
...
Рейтинг: 0 / 0
Проблемы с гридом...
    #32258586
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Grid стал пустым, но собственно сетка и столбцы остались, то это значит, что влияет Set Relation. Глюком это никак не назовешь, просто особенность работы.

Решений собственно 2

1) Хотя бы одну из форм открывать в Private DataSession (или обе)
2) Указать в DataEnvironment одной из форм другой алиас для той же таблицы.

Суть решения заключается в том, чтобы создать 2 экземпляра таблицы в разных рабочих областях. Реляция будет наложена на одну, а другую не затронет.

Если же у Вас Grid стал вообще пустым - т.е. не осталось ни сетки ни столбцов, то это значит, что был потерян источник данных для Grid (RecordSource). Как правило, это связано с неявным переоткрытием таблицы (например по команде PACK). Это уже надо копятся в коде. Так сказать трудно в чем причина.
...
Рейтинг: 0 / 0
Проблемы с гридом...
    #32258610
Dushes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажем, есть pageframe/
В страницах данного фрейма есть гриды, т.е. говорить о приватных сессиях тут не приходится...Вот тут и возникают проблемы - скажем, в одном гриде какой-либо страницы отображается информация из двух взаимосвязанных таблиц, а в другом необходимо отображать одну из этих таблиц без реляции - можно в событии DeACTIVATE отключать реляции и вроде бы как ничего, но попробуйте и увидите эффект- в данном случае реляции хоть и будут отключены, но грид будет показывтаь только ту запись, с которой была ранее реляции.... Это уже известные грабли и даже на висулфокспрослубе их обсуждали ....
...
Рейтинг: 0 / 0
Проблемы с гридом...
    #32258611
iwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А то, что для каждой формы создается свой DataEnv.. это разве не разделяет
доступ к одной и той же таблице?

Причем при создании DataEnv.. создаются же курсоры, а не сами таблицы открываются...

или я чего то не понимаю в работе грида.
...
Рейтинг: 0 / 0
Проблемы с гридом...
    #32258723
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам по себе DataEnvironment предназначен не для разделения доступа а лишь для настройки среды окружения, но только в 2 ситуациях: в момент открытия формы и в момент закрытия формы

Все что происходит между этими двумя моментами DataEnvironment не касается. Более того, если используются Default DataSession, то использование AutoOpen Tables=.T. и AutoClose Tables=.T. может привести к серьезным ошибкам. Например:

1. Открыли первую форму - открылись таблицы указанные в DE
2. Открыли вторую форму - таблицы уже открыты, поэтому повторное открытие таблиц нет происходит, но меняются все связи и индексы в соответсвии с данным DE
3. Закрыли форму 1 и при этом среда окружения вернулась в то состояние, которое было ДО открытия этой формы (не вообще все окружение, а только указанные в DE таблицы). Т.е. закрылись все открытые таблицы
4. Вернулись в форму 2 и получили кучу сообщений об ошибках о недоступности источников данных, поскольку все таблицы были закрыты в момент закрытия формы 1.

Чтобы избежать подобных недоразумений и следует использовать Private DataSession, либо разные алиасы таблиц в разных формах.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы с гридом...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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