Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблемы с гридом...
|
|||
|---|---|---|---|
|
#18+
Здраствуйте! ответьте пожалуйста на один вопрос. у меня есть две формы,одна из которых является набором форм. в наборе форм на одной из форм имеется грид, в котором отражаются данные из таблицы1 и связанной с ней таблицы2. на другой форме, не входящей в набор отражается грид для таблицы2. если я открываю их по отдельности, то все нормально, но если я открываю набор форм и работаю с формой, где есть связанные таблицы ,а затем открываю форму , где грид к таблицы2, но уже связь с другими таблицами отсутствует, то гриды на обоих формах становятся пустыми... в чем проблема... может быть имена курсоров совпадают или с алиасами что-то??? Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 13:03 |
|
||
|
Проблемы с гридом...
|
|||
|---|---|---|---|
|
#18+
Привет. Это есть один из стандартный глюков грида - реляция между таблицами остается даже после активизации и переактивизации окна, и никакой рефреш тут не поможет...хотя реляции вроде как и отключены...странно, да;)/// Попробуй обнулять recordsource, а затем его заново восстанавливать, ну и соответвенно все настройки column-ов, помогает....Я одном проекте вообще далал grid.savetoclass, удалял объект грида с формы, а затем его заново восстанавливал из библиотеки классов, созданной посредством savetoclass и клал на форму снова.....В этом был плюс - положения всех колонок, настроенных пользователем, также их ширины - все восстанавливалиь заново ну и соответственно источник данных, привязанный к гриду..... С уважением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 13:24 |
|
||
|
Проблемы с гридом...
|
|||
|---|---|---|---|
|
#18+
А какие еще могут быть рецепты против этого глюка!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 14:39 |
|
||
|
Проблемы с гридом...
|
|||
|---|---|---|---|
|
#18+
Если Grid стал пустым, но собственно сетка и столбцы остались, то это значит, что влияет Set Relation. Глюком это никак не назовешь, просто особенность работы. Решений собственно 2 1) Хотя бы одну из форм открывать в Private DataSession (или обе) 2) Указать в DataEnvironment одной из форм другой алиас для той же таблицы. Суть решения заключается в том, чтобы создать 2 экземпляра таблицы в разных рабочих областях. Реляция будет наложена на одну, а другую не затронет. Если же у Вас Grid стал вообще пустым - т.е. не осталось ни сетки ни столбцов, то это значит, что был потерян источник данных для Grid (RecordSource). Как правило, это связано с неявным переоткрытием таблицы (например по команде PACK). Это уже надо копятся в коде. Так сказать трудно в чем причина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 14:55 |
|
||
|
Проблемы с гридом...
|
|||
|---|---|---|---|
|
#18+
Скажем, есть pageframe/ В страницах данного фрейма есть гриды, т.е. говорить о приватных сессиях тут не приходится...Вот тут и возникают проблемы - скажем, в одном гриде какой-либо страницы отображается информация из двух взаимосвязанных таблиц, а в другом необходимо отображать одну из этих таблиц без реляции - можно в событии DeACTIVATE отключать реляции и вроде бы как ничего, но попробуйте и увидите эффект- в данном случае реляции хоть и будут отключены, но грид будет показывтаь только ту запись, с которой была ранее реляции.... Это уже известные грабли и даже на висулфокспрослубе их обсуждали .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 15:06 |
|
||
|
Проблемы с гридом...
|
|||
|---|---|---|---|
|
#18+
А то, что для каждой формы создается свой DataEnv.. это разве не разделяет доступ к одной и той же таблице? Причем при создании DataEnv.. создаются же курсоры, а не сами таблицы открываются... или я чего то не понимаю в работе грида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 15:07 |
|
||
|
Проблемы с гридом...
|
|||
|---|---|---|---|
|
#18+
Сам по себе DataEnvironment предназначен не для разделения доступа а лишь для настройки среды окружения, но только в 2 ситуациях: в момент открытия формы и в момент закрытия формы Все что происходит между этими двумя моментами DataEnvironment не касается. Более того, если используются Default DataSession, то использование AutoOpen Tables=.T. и AutoClose Tables=.T. может привести к серьезным ошибкам. Например: 1. Открыли первую форму - открылись таблицы указанные в DE 2. Открыли вторую форму - таблицы уже открыты, поэтому повторное открытие таблиц нет происходит, но меняются все связи и индексы в соответсвии с данным DE 3. Закрыли форму 1 и при этом среда окружения вернулась в то состояние, которое было ДО открытия этой формы (не вообще все окружение, а только указанные в DE таблицы). Т.е. закрылись все открытые таблицы 4. Вернулись в форму 2 и получили кучу сообщений об ошибках о недоступности источников данных, поскольку все таблицы были закрыты в момент закрытия формы 1. Чтобы избежать подобных недоразумений и следует использовать Private DataSession, либо разные алиасы таблиц в разных формах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 15:43 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32258723&tid=1597905]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 323ms |

| 0 / 0 |
