
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.12.2005, 15:18
|
|||
|---|---|---|---|
|
|||
Grid? SET RELATION |
|||
|
#18+
Такая ситуация: есть форма Form1, на ней Grid, Grid.RecordSourceType=Alias, Grid.RecordSource - таблица "Units". На форме есть кнопочка, по которой вызывается другая форма, Form2. в Form2.Activate устанавливаю: SELECT "Def_in" && другая таблица, в которой есть поле cod_unit SET RELATION TO Def_in.cod_unit INTO "Units" на Form2 тоже есть Grid, в котором отображаются поля из ""Def_in и "Units" (связь через RELATION). При выгрузке формы Form2 делаю: SELECT "Def_in" SET RELATION TO При возвращении на Form1, Grid показывает только одну строчку, (на которой был указатель записи в Form2.Grid), а при установке фокуса на Grid - вообще ничего. Пустой Grid!!! Такое ощущение, что RELATION не отменяется, хотя в Data Session видно, что связи нет. Подскажите, please, что это может быть??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2005, 18:11
|
|||
|---|---|---|---|
Grid? SET RELATION |
|||
|
#18+
Сделай сначала SELECT Units index on cod_unit to cod а потом уже SELECT "Def_in" && другая таблица, в которой есть поле cod_unit SET RELATION TO Def_in.cod_unit INTO "Units" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2005, 18:24
|
|||
|---|---|---|---|
|
|||
Grid? SET RELATION |
|||
|
#18+
Индекс уже есть, он никуда не делся. Зачем еще раз индексировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2005, 18:41
|
|||
|---|---|---|---|
Grid? SET RELATION |
|||
|
#18+
После SELECT "Def_in" SET RELATION TO необходимо обнулить Grid на Form1 т.е ThisFormset.Form1.Grid1.Recordsource =' ' ThisFormset.Form1.Grid1.Recordsource ='Units' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2005, 18:43
|
|||
|---|---|---|---|
Grid? SET RELATION |
|||
|
#18+
Сергей, БрянскТакое ощущение, что RELATION не отменяется, хотя в Data Session видно, что связи нет. Подскажите, please, что это может быть??? Так и есть. Это особенность работы собственно объекта Grid (а также BROWSE). RELATION с точки зрения подчиненного Grid - это своеобразный фильтр. Даже после отмены Relation последний наложенный "фильтр" запоминается в объекте Grid. Надо "встряхнуть" сам объект Grid. Специально не проверял, но попробуй следующие варианты: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Но вообще-то, всего этого можно избежать, если каждую форму открывать в Private DataSession. В этом случае подобные коллизии просто невозможны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2005, 19:00
|
|||
|---|---|---|---|
|
|||
Grid? SET RELATION |
|||
|
#18+
Очень не хочется переопределять RecordSource у Grid, т.к. придется заново расписывать все Column, Text, их свойства и события. События, конечно, можно переопределить через BindEvent, но это тоже лишняя работа, если Grid уже настроен и работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2005, 20:52
|
|||
|---|---|---|---|
Grid? SET RELATION |
|||
|
#18+
Сергей, БрянскОчень не хочется переопределять RecordSource у Grid, т.к. придется заново расписывать все Column, Text, их свойства и события. События, конечно, можно переопределить через BindEvent, но это тоже лишняя работа, если Grid уже настроен и работает... Не придется. Переписать нужно только источники данных. Код приведен во втором варианте. Все остальные настройки и события останутся без изменений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.12.2005, 11:19
|
|||
|---|---|---|---|
|
|||
Grid? SET RELATION |
|||
|
#18+
[quot ВладимирМ Переписать нужно только источники данных. Код приведен во втором варианте. Все остальные настройки и события останутся без изменений.[/quot] Да, действительно все работает и другие настройки не сбились. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=41&mobile=1&tid=1592757]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 368ms |

| 0 / 0 |
