powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обновление grid
25 сообщений из 61, страница 1 из 3
Обновление grid
    #34410256
StQFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, подскажи, как решить следующую проблему:
есть форма с grid-ом, запускаю обработку (по кнопке на форме), после завершения обработки
grid пропадает.
Таблицы в процессе выполнения не закрываются, а значит ссылки живые.
Метод grid.refresh не помогает.
Заранее всем спасибо!
...
Рейтинг: 0 / 0
Обновление grid
    #34410329
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Что значит "пропадает" ?
2. Если не "пропадает", а белый квадрат, то все-таки источник данных "слетает" у GRID:
Вот несколько причин ()
a) SELECT ... INTO ... в источник данных для GRID
b) SQLEXEC в таблицу с источником данных GRID
с) PACK
d) меняетя DataSession у формы командой SET DATASESSION TO...
...
Если все не то, то приведите ваш код обработки.
С уважением, Алексей
...
Рейтинг: 0 / 0
Обновление grid
    #34410345
StQFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-K1. Что значит "пропадает" ?
2. Если не "пропадает", а белый квадрат, то все-таки источник данных "слетает" у GRID:
Вот несколько причин ()
a) SELECT ... INTO ... в источник данных для GRID
b) SQLEXEC в таблицу с источником данных GRID
с) PACK
d) меняетя DataSession у формы командой SET DATASESSION TO...
...
Если все не то, то приведите ваш код обработки.
С уважением, Алексей

Вы правы - белый квадрат. Но с таблицей данных (например,bBase), которая используется в качестве источника данных для grid, действий никаких не выполняется (pack и тому подобное). Жмем кнопку на форме, запускается prg, выполняется обработка данных в других таблицей, затем возвращаемся RETURN-ом. Ставлю SELE на область, в которой открыта bBase - белый квадрат.
Как в таком случае восстановить источник данных?
...
Рейтинг: 0 / 0
Обновление grid
    #34410359
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначал разберитесь почему пропадает и когда!
Чудес не бывает!
Проверьте в пошаговом режиме от момента нажатия кнопки на форме и до "белого квадрата".
С уважением, Алексей
...
Рейтинг: 0 / 0
Обновление grid
    #34410387
StQFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-KСначал разберитесь почему пропадает и когда!
Чудес не бывает!
Проверьте в пошаговом режиме от момента нажатия кнопки на форме и до "белого квадрата".
С уважением, Алексей

Оригинальный ответ :)
ПОЧЕМУ и КОГДА ))))
КОГДА и так понятно.
я бы понял, если выполнялись действия над таблицей (grid). В prg нет нигде ссылок на грид. Выполняются действия над сторонними таблицами, затем сообщение "Выполнено". Уже перед появлением сообщения - появляется белый квадрат. Вот и резонно спросить ПОЧЕМУ?
Область, в которой открыта таблица работает (проверял, используя Browse - там данные доступны). Т.е., если вызвать browse после RETURN из prg, все работает.
Нужна команда, которая восстанавливает ссылку или проверяет ее
...
Рейтинг: 0 / 0
Обновление grid
    #34410460
StQFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался в чем причина:
в запускаемой процедуре есть команда: DO CPZERO.PRG WITH "base_r.dbf",866
Если закомментировать, grid работает.
Во всяком случае причина понятна, обойти можно. Хотелось бы услышать мнение на этот счет.
Всем спасибо!
...
Рейтинг: 0 / 0
Обновление grid
    #34410516
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StQFoxОригинальный ответ :)
ПОЧЕМУ и КОГДА ))))
КОГДА и так понятно.

Так все таки не все понятно :)
StQFox
в запускаемой процедуре есть команда: DO CPZERO.PRG WITH "base_r.dbf",866

А чего тут комментировать!!!
Утилита CPZERO перезаписывает заголовок DBF. Разумеется, закрывает DBF как таблицу и открывает через FOPEN.
С уважением, Алексей
...
Рейтинг: 0 / 0
Обновление grid
    #34410548
StQFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А чего тут комментировать!!!
Утилита CPZERO перезаписывает заголовок DBF. Разумеется, закрывает DBF как таблицу и открывает через FOPEN.
С уважением, Алексей[/quot]

Так грид использует другую таблицу данных. Вот и непонятно.
Комментарий помог выявить проблему.
Установку метки код.страницы можно перетащить в UnLoad формы
...
Рейтинг: 0 / 0
Обновление grid
    #34410706
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы было понятно стоит заглянуть в исходник CpZero
там вы увидите чуждную
команду- CLOSE DATABASES
т.е.
сначала CpZero запоминает что было открыто - потом ВСЕ закрывает делает своё "грязное" дело
и открывает все обратно.
...
Рейтинг: 0 / 0
Обновление grid
    #34942614
Larkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения что поднимаю старую тему, но, все-таки, если приходится делать pack, то что нужно сделать чтобы вместо грида не появлялся белый прямоугольник? Что-то не могу найти ничего.
...
Рейтинг: 0 / 0
Обновление grid
    #34942646
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LarkinПрошу прощения что поднимаю старую тему, но, все-таки, если приходится делать pack, то что нужно сделать чтобы вместо грида не появлялся белый прямоугольник? Что-то не могу найти ничего.
Заполнить свойства грида программно.

По хорошему все операции требующие монопольного доступа (PACK, INDEX, REINDEX) собираются в отдельную процедуру.

чтобы скрыть помеченные на удаление записи: SET DELETED ON
...
Рейтинг: 0 / 0
Обновление grid
    #34942713
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LarkinПрошу прощения что поднимаю старую тему, но, все-таки, если приходится делать pack, то что нужно сделать чтобы вместо грида не появлялся белый прямоугольник? Что-то не могу найти ничего.
1. "Отвязать" GRID от источника: RecordSource = ''
2. Сделать все, что надо с источником
3. "Привязать" GRID к источнику: RecordSource = 'MyTable'
4. "Привязать" все колонки GRID к источнику:
Column1.ControlSource = 'MyTable.MyFiled1'
Column2.ControlSource = 'MyTable.MyFiled2'
...
Для автоматизации этого процесса можно создать свой класс GRID и дабавить в него пару методов, которые будет этим заниматься.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Обновление grid
    #34942741
Larkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое, теперь понятно!
...
Рейтинг: 0 / 0
Обновление grid
    #35329800
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ !Уже не первый раз вижу совет - отвязать источник сделать все что нужно с источником и привязать его обратно ! у меня вопросы :
1)Если у меня в RecordSourse указана таблица а в RowSourse каждого столбца - столбец ! то мне надо убивать иточник только для таблицы или для всех столбцов и потом перепрявязывать не только таблицу к источнику но и столбцы ? или достаточно убрать RecordSourse таблицы ?
2) 1.Убираю источник
2.delete
3.close tables all
4.pack dbf моя таблица
5. - как открыть таблицы опять потом что после того как я их закрываю то у меня же все итпо слетает во всех грида ! причем после того как я оопять перерпривязываю источник то у меня в гриде начинает отображаться таблица но все настройки грида слетают - разме столбцов цвет строк шрифт итак далее ! как открывать таблицы опять что бы их можно было привязать к гриду ?
с коммандой USE у меня чет не лды как тО !
...
Рейтинг: 0 / 0
Обновление grid
    #35329810
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЗвегНарод !Уже не первый раз вижу совет - отвязать источник сделать все что нужно с источником и привязать его обратно !
Не менее часто здесь говорят - не надо паковать таблицы во время работы юзера, не надо. Для этого должен быть отдельный режим/пункт/тулза. И если следовать этому совету, то поставленный вопрос и не возникнет.
...
Рейтинг: 0 / 0
Обновление grid
    #35330076
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пишу простейшую курсовую работу - это не то случай когда надо делать дополнительную тулзу =) просто хочеться то бы все было красиво =)
...
Рейтинг: 0 / 0
Обновление grid
    #35330329
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЗвегЯ пишу простейшую курсовую работу - это не то случай когда надо делать дополнительную тулзу =) просто хочеться то бы все было красиво =)
И для простейшей работы сами себе создаем трудности? Интересный подход...
...
Рейтинг: 0 / 0
Обновление grid
    #35334839
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну а какой подход вы посоветуете ? просто впервые открыл фокс недельку назад ! Лазию в нем тока на работе - раз в 4 дня ! В первый день сдела все что нужно - Пэйдж фрэйм в каждой странице по гриду подсчет данным все на кнопки привязал все работате вот тока теперь проблема с таблицами! Как добавлять и удалять данные из них что бы с гридом траблов не возникло ! Ребята посоветовали set deleted on и удялять данные чисто визуально а pack делать когда закрываю приложение что бы не приходилось потом таблицы по новой открывать !
Буду рад любому совету !
...
Рейтинг: 0 / 0
Обновление grid
    #35334847
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЗвегРебята посоветовали set deleted on и удялять данные чисто визуально а pack делать когда закрываю приложение что бы не приходилось потом таблицы по новой открывать !

Вот и следуйте этому совету.
...
Рейтинг: 0 / 0
Обновление grid
    #35335873
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в случае добавление записи в таблицу или ее редактирования ? Тут то мне надо будет получить моментальный результат сразу без перезапуска приложения !
...
Рейтинг: 0 / 0
Обновление grid
    #35335897
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЗвегА в случае добавление записи в таблицу или ее редактирования ? Тут то мне надо будет получить моментальный результат сразу без перезапуска приложения !
И что Вам мешает это сделать? Кстати, что именно понимается под моментальным результатом? А какие еще есть результаты? Вам чем-то помеченные на удаление записи мешают?
...
Рейтинг: 0 / 0
Обновление grid
    #35335916
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если я удаляю запиь из таблицы и делаю pack то грид ругеться так как для этго я закрываю таблицы ! Было предложенно делать set deleted on и удалять записи чисто визуально а потом при выходе из приложения автоматом делать пак и все остальное ! А как поступать когда нужно добавить запись или отредактировать ! Выходит из приложения и опять его запускать - не вариант ! Вот что я имелл вииду !
...
Рейтинг: 0 / 0
Обновление grid
    #35335917
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЗвегЕсли я удаляю запиь из таблицы и делаю pack то грид ругеться так как для этго я закрываю таблицы ! Было предложенно делать set deleted on и удалять записи чисто визуально а потом при выходе из приложения автоматом делать пак и все остальное ! А как поступать когда нужно добавить запись или отредактировать ! Выходит из приложения и опять его запускать - не вариант ! Вот что я имелл вииду !
Так что мешает добавлять и изменять? В чем проблема-то?
...
Рейтинг: 0 / 0
Обновление grid
    #35335921
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если я добавляю запись с таблицу то для ее отображения в гриде я должен выполнить pack ! Чуть выше мы пришли к выводу что его приемлимо выполнять только при выходе из приложения ! Перезапускать приложение каждый раз после добавления или редактиования записи - не очень то удобно !
...
Рейтинг: 0 / 0
Обновление grid
    #35335928
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЗвегЕсли я добавляю запись с таблицу то для ее отображения в гриде я должен выполнить pack !
ЧТО?! Кто Вам такую чушь сказал? И самому проверить это трудно?
...
Рейтинг: 0 / 0
25 сообщений из 61, страница 1 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обновление grid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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