|
|
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Народ, подскажи, как решить следующую проблему: есть форма с grid-ом, запускаю обработку (по кнопке на форме), после завершения обработки grid пропадает. Таблицы в процессе выполнения не закрываются, а значит ссылки живые. Метод grid.refresh не помогает. Заранее всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 03:40 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
1. Что значит "пропадает" ? 2. Если не "пропадает", а белый квадрат, то все-таки источник данных "слетает" у GRID: Вот несколько причин () a) SELECT ... INTO ... в источник данных для GRID b) SQLEXEC в таблицу с источником данных GRID с) PACK d) меняетя DataSession у формы командой SET DATASESSION TO... ... Если все не то, то приведите ваш код обработки. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 07:36 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Aleksey-K1. Что значит "пропадает" ? 2. Если не "пропадает", а белый квадрат, то все-таки источник данных "слетает" у GRID: Вот несколько причин () a) SELECT ... INTO ... в источник данных для GRID b) SQLEXEC в таблицу с источником данных GRID с) PACK d) меняетя DataSession у формы командой SET DATASESSION TO... ... Если все не то, то приведите ваш код обработки. С уважением, Алексей Вы правы - белый квадрат. Но с таблицей данных (например,bBase), которая используется в качестве источника данных для grid, действий никаких не выполняется (pack и тому подобное). Жмем кнопку на форме, запускается prg, выполняется обработка данных в других таблицей, затем возвращаемся RETURN-ом. Ставлю SELE на область, в которой открыта bBase - белый квадрат. Как в таком случае восстановить источник данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 08:02 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Сначал разберитесь почему пропадает и когда! Чудес не бывает! Проверьте в пошаговом режиме от момента нажатия кнопки на форме и до "белого квадрата". С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 08:22 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Aleksey-KСначал разберитесь почему пропадает и когда! Чудес не бывает! Проверьте в пошаговом режиме от момента нажатия кнопки на форме и до "белого квадрата". С уважением, Алексей Оригинальный ответ :) ПОЧЕМУ и КОГДА )))) КОГДА и так понятно. я бы понял, если выполнялись действия над таблицей (grid). В prg нет нигде ссылок на грид. Выполняются действия над сторонними таблицами, затем сообщение "Выполнено". Уже перед появлением сообщения - появляется белый квадрат. Вот и резонно спросить ПОЧЕМУ? Область, в которой открыта таблица работает (проверял, используя Browse - там данные доступны). Т.е., если вызвать browse после RETURN из prg, все работает. Нужна команда, которая восстанавливает ссылку или проверяет ее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 08:57 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Разобрался в чем причина: в запускаемой процедуре есть команда: DO CPZERO.PRG WITH "base_r.dbf",866 Если закомментировать, grid работает. Во всяком случае причина понятна, обойти можно. Хотелось бы услышать мнение на этот счет. Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 09:32 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
StQFoxОригинальный ответ :) ПОЧЕМУ и КОГДА )))) КОГДА и так понятно. Так все таки не все понятно :) StQFox в запускаемой процедуре есть команда: DO CPZERO.PRG WITH "base_r.dbf",866 А чего тут комментировать!!! Утилита CPZERO перезаписывает заголовок DBF. Разумеется, закрывает DBF как таблицу и открывает через FOPEN. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 09:50 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
А чего тут комментировать!!! Утилита CPZERO перезаписывает заголовок DBF. Разумеется, закрывает DBF как таблицу и открывает через FOPEN. С уважением, Алексей[/quot] Так грид использует другую таблицу данных. Вот и непонятно. Комментарий помог выявить проблему. Установку метки код.страницы можно перетащить в UnLoad формы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 10:01 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Чтобы было понятно стоит заглянуть в исходник CpZero там вы увидите чуждную команду- CLOSE DATABASES т.е. сначала CpZero запоминает что было открыто - потом ВСЕ закрывает делает своё "грязное" дело и открывает все обратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 10:42 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Прошу прощения что поднимаю старую тему, но, все-таки, если приходится делать pack, то что нужно сделать чтобы вместо грида не появлялся белый прямоугольник? Что-то не могу найти ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 16:11 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
LarkinПрошу прощения что поднимаю старую тему, но, все-таки, если приходится делать pack, то что нужно сделать чтобы вместо грида не появлялся белый прямоугольник? Что-то не могу найти ничего. Заполнить свойства грида программно. По хорошему все операции требующие монопольного доступа (PACK, INDEX, REINDEX) собираются в отдельную процедуру. чтобы скрыть помеченные на удаление записи: SET DELETED ON ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 16:16 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
LarkinПрошу прощения что поднимаю старую тему, но, все-таки, если приходится делать pack, то что нужно сделать чтобы вместо грида не появлялся белый прямоугольник? Что-то не могу найти ничего. 1. "Отвязать" GRID от источника: RecordSource = '' 2. Сделать все, что надо с источником 3. "Привязать" GRID к источнику: RecordSource = 'MyTable' 4. "Привязать" все колонки GRID к источнику: Column1.ControlSource = 'MyTable.MyFiled1' Column2.ControlSource = 'MyTable.MyFiled2' ... Для автоматизации этого процесса можно создать свой класс GRID и дабавить в него пару методов, которые будет этим заниматься. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 16:30 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Спасибо большое, теперь понятно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 16:35 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Народ !Уже не первый раз вижу совет - отвязать источник сделать все что нужно с источником и привязать его обратно ! у меня вопросы : 1)Если у меня в RecordSourse указана таблица а в RowSourse каждого столбца - столбец ! то мне надо убивать иточник только для таблицы или для всех столбцов и потом перепрявязывать не только таблицу к источнику но и столбцы ? или достаточно убрать RecordSourse таблицы ? 2) 1.Убираю источник 2.delete 3.close tables all 4.pack dbf моя таблица 5. - как открыть таблицы опять потом что после того как я их закрываю то у меня же все итпо слетает во всех грида ! причем после того как я оопять перерпривязываю источник то у меня в гриде начинает отображаться таблица но все настройки грида слетают - разме столбцов цвет строк шрифт итак далее ! как открывать таблицы опять что бы их можно было привязать к гриду ? с коммандой USE у меня чет не лды как тО ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 19:50 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
ЗвегНарод !Уже не первый раз вижу совет - отвязать источник сделать все что нужно с источником и привязать его обратно ! Не менее часто здесь говорят - не надо паковать таблицы во время работы юзера, не надо. Для этого должен быть отдельный режим/пункт/тулза. И если следовать этому совету, то поставленный вопрос и не возникнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 19:55 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Я пишу простейшую курсовую работу - это не то случай когда надо делать дополнительную тулзу =) просто хочеться то бы все было красиво =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2008, 00:11 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
ЗвегЯ пишу простейшую курсовую работу - это не то случай когда надо делать дополнительную тулзу =) просто хочеться то бы все было красиво =) И для простейшей работы сами себе создаем трудности? Интересный подход... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2008, 09:29 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Ну а какой подход вы посоветуете ? просто впервые открыл фокс недельку назад ! Лазию в нем тока на работе - раз в 4 дня ! В первый день сдела все что нужно - Пэйдж фрэйм в каждой странице по гриду подсчет данным все на кнопки привязал все работате вот тока теперь проблема с таблицами! Как добавлять и удалять данные из них что бы с гридом траблов не возникло ! Ребята посоветовали set deleted on и удялять данные чисто визуально а pack делать когда закрываю приложение что бы не приходилось потом таблицы по новой открывать ! Буду рад любому совету ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 12:38 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
ЗвегРебята посоветовали set deleted on и удялять данные чисто визуально а pack делать когда закрываю приложение что бы не приходилось потом таблицы по новой открывать ! Вот и следуйте этому совету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 12:39 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
А в случае добавление записи в таблицу или ее редактирования ? Тут то мне надо будет получить моментальный результат сразу без перезапуска приложения ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 18:53 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
ЗвегА в случае добавление записи в таблицу или ее редактирования ? Тут то мне надо будет получить моментальный результат сразу без перезапуска приложения ! И что Вам мешает это сделать? Кстати, что именно понимается под моментальным результатом? А какие еще есть результаты? Вам чем-то помеченные на удаление записи мешают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 19:08 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Если я удаляю запиь из таблицы и делаю pack то грид ругеться так как для этго я закрываю таблицы ! Было предложенно делать set deleted on и удалять записи чисто визуально а потом при выходе из приложения автоматом делать пак и все остальное ! А как поступать когда нужно добавить запись или отредактировать ! Выходит из приложения и опять его запускать - не вариант ! Вот что я имелл вииду ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 19:27 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
ЗвегЕсли я удаляю запиь из таблицы и делаю pack то грид ругеться так как для этго я закрываю таблицы ! Было предложенно делать set deleted on и удалять записи чисто визуально а потом при выходе из приложения автоматом делать пак и все остальное ! А как поступать когда нужно добавить запись или отредактировать ! Выходит из приложения и опять его запускать - не вариант ! Вот что я имелл вииду ! Так что мешает добавлять и изменять? В чем проблема-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 19:29 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Если я добавляю запись с таблицу то для ее отображения в гриде я должен выполнить pack ! Чуть выше мы пришли к выводу что его приемлимо выполнять только при выходе из приложения ! Перезапускать приложение каждый раз после добавления или редактиования записи - не очень то удобно ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 19:33 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35329810&tid=1587682]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 328ms |

| 0 / 0 |
