powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Grid забодал
11 сообщений из 11, страница 1 из 1
Grid забодал
    #32507390
Gamal Paperot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы, связанные по какому-то полю, вывод идет в два грида.
После убирания первой таблицы и удаления связи нет никакой возможности
вывести вторую таблицу в грид целиком.
Она окоротилась прошлой связью, помнит ее неведомо где,
даже переоткрытие таблицы не помогает
Раньше этот момент был в BROWSE, и таблица восстанавливалась
известной командой BROWSE LAST.
А вот использование новейших технологий дало такую
неприятную вещь, как вы понимаете рефреши не помогают.
Нет ли путей попроще восстанавливать таблицу в Гриде после убирания связей ?
...
Рейтинг: 0 / 0
Grid забодал
    #32507418
ArDo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gamal Paperotдаже переоткрытие таблицы не помогает
наводит на мысль, что в форме эта таблица открывается еще раз и все показухи работают именно оттуда, проверь чем черт не шутит?
...
Рейтинг: 0 / 0
Grid забодал
    #32507514
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй переустановить RecordSource для подчиненного Grid

* Отключаем источник данных для Grid
ThisForm.Grid2.RecordSource=''
* Отменяем связь с подчиненной таблицей
* Восстанавливаем источник данных для Grid
ThisForm.Grid2.RecordSource="ChildTable"
ThisForm.Grid2.Column1.ControlSource="ChildTable.Field1"
ThisForm.Grid2.Column2.ControlSource="ChildTable.Field2"
...
Рейтинг: 0 / 0
Grid забодал
    #32509244
Gamal Paperot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за участие,
но все это уже проделано неоднократно, результата нет.
Похоже, придется полностью закрывать приложение и вновь открывать,
но это неспортивно.
Либо отказаться от Грида в подобных случаях?
Знать бы, где физически сохраняются установки Грида
...
Рейтинг: 0 / 0
Grid забодал
    #32510099
Sjfx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правила форума читать надо.
Код в студию.
С созданием и наполнением тестовых таблиц.
...
Рейтинг: 0 / 0
Grid забодал
    #32510248
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказалось влияет наложенный порядок сортировки! Кто бы мог подумать!

Т.е. для снятия связи по RELATION стабильно работает такая последовательность:

Код: plaintext
1.
2.
3.
4.
5.
6.
select ParentTable
SET RELATION TO
select ChildTable
* Следующая команда имеет принципиальное значение
SET ORDER TO
GO TOP
ThisForm.Grid1.Refresh()

Даже переобъявлять источник данных для Grid не надо.
...
Рейтинг: 0 / 0
Grid забодал
    #32510260
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЗнать бы, где физически сохраняются установки Грида

скорее всего в foxuser.dbf and foxuser.fpt

Странная у Вас проблема.
А пробовали все отношения задавать в коде без использования Data environment? Должно работать, особенно если после всех удалений снова построить программно оба GRID ...
...
Рейтинг: 0 / 0
Grid забодал
    #32510344
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, тут действительно какой-то глюк.

Где-то, как-то, сохраняется настроенная связь. SET ORDER TO просто делает эту связь бессмысленной, однако не снимает ее полностью. Стоит установить любой главный индекс, как связь снова начинает работать. Точнее не сама связь, а "воспоминание" о ней.

Проверял и при программной установке SET RELATION и при связи в DataEnvironment.

Причем запомненная связь "привязана" к конкретному объекту формы. Я попробовал создать новый Grid после разрыва связи (ThisForm.AddObject()). В нем никакого глюка не наблюдается.

А вот в "старом" Grid чтобы я ни вытворял, но стоит только вернуть в качестве источника данных старую таблицу и установить индекс, как записи тут же фильтруются по коду, который был текущим у родительской таблицы на момент снятия RELATION. Хотя никакого RELATION реально уже нет. Что и подтверждается перемещением по родительскому Grid. Нет реакции в дочернем Grid.

Да, все это я вытворял на VFP6SP5. Может в более старших версиях этого глюка нет?
...
Рейтинг: 0 / 0
Grid забодал
    #32510449
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может все хранится в свойствах grid
LinkMaster, ChildOrder, RelationalExpr ?
...
Рейтинг: 0 / 0
Grid забодал
    #32510475
ноль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты попробуй не релейшн, а запрос делать записей m из правила реляционной связи 1:m и светить в гриде его. Тут ты сам себе хозяин. А глюкавость грида при релейшене известатна.
...
Рейтинг: 0 / 0
Grid забодал
    #32513017
Gamal Paperot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже я с ВладимиромМ одним путем шел.
SET ORDER действительно дает видимость вывода всей таблицы, пока
мышью не засветишь контрол.Тогда все "вертается взад", то есть связь остается
как и была.
А добавка нового объекта грид - видимо единственный выход
в данной конкретно-исторической обстановке.
Похоже здесь претензию надо предъявлять авторам "GRID"а
Всех благодарю за участие, отдельно ВладимираМ
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Grid забодал
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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