|
Помогите обновить Grid
|
|||
---|---|---|---|
#18+
Проблема в том что после заполнения строк и нажатия на кнопку "Добавить" Grid становится белым и аналогично если нажать на Иконку корзины в моей форме. Вот Код кнопки "Добавить" - USE "data\Debtors.dbf" DO case CASE EMPTY(thisform.Text1.Value)=.f. APPEND BLANK replace Debtors.fio WITH thisform.Text1.Value thisform.Text1.Value="" replace Debtors.money WITH thisform.Text2.Value thisform.Text2.Value="" replace Debtors.subject WITH thisform.Text3.Value thisform.Text3.Value="" thisform.refresh() ENDCASE use А это код "Корзины" - USE "data/Debtors" pr=0 SCAN FOR DELETED()=.t. pr=pr+1 ENDSCAN IF pr<>0 IF MESSAGEBOX("Удалить запись?",4+48+0,"Удаление")=6 DELETE PACK ELSE recall all ENDIF ELSE WAIT WINDOW AT 22,30"Нет записей к удалению"; TIMEOUT 16 ENDIF use Прикрепил картинку своей формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2010, 17:58 |
|
Помогите обновить Grid
|
|||
---|---|---|---|
#18+
Amilman, Надо знать, как работает PACK. Эта команда (в двух словах) вначале переписывает записи без метки DELETED из пакуемой таблицы во временный файл, потом ЗАКРЫВАЕТ и удаляет пакуемый файл и переименовывает временный файл именем исходного. Т.е. на какое-то время ваш грид остаётся без источника данных. Отсюда и белый экран. Поставьте после PACK что-нибудь вроде Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2010, 20:13 |
|
Помогите обновить Grid
|
|||
---|---|---|---|
#18+
reware, Попробовал но чёто не получается ( Теперь вот так выглядит USE "data/Debtors" pr=0 SCAN FOR DELETED()=.t. pr=pr+1 ENDSCAN IF pr<>0 IF MESSAGEBOX("Удалить запись?",4+48+0,"Удаление")=6 DELETE PACK thisform.Grid1.RecordSource="Debtors" ThisForm.Grid1.Column1.ControlSource = "Debtors.fio" ThisForm.Grid1.Column2.ControlSource = "Debtors.money" ThisForm.Grid1.Column3.ControlSource = "Debtors.subject" ELSE recall all ENDIF ELSE WAIT WINDOW AT 22,30"Нет записей к удалению"; TIMEOUT 16 ENDIF use ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2010, 21:02 |
|
Помогите обновить Grid
|
|||
---|---|---|---|
#18+
Но он ругается теперь на Column ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2010, 21:17 |
|
Помогите обновить Grid
|
|||
---|---|---|---|
#18+
Amilmanreware, Попробовал но чёто не получается ( И не получится. Grid - это "окно" через которое Вы смотрите на предварительно открытую таблицу . Нет открытой таблицы - нечего отображать. Обратите внимание, что таблица должна быть открыта . FoxPro в принципе не может работать с закрытыми таблицами. Команда USE открывает таблицу. Но та же самая команда USE, но уже без параметров - закрывает ранее открытую таблицу Т.е. Вы сделали следующее: Вероятно, Ваша таблица добавлена в DataEnvironment формы, как следствие, таблица открывается автоматически в момент открытия формы. Поэтому при открытии формы Grid отображает то, что сейчас открыто. Далее Вы нажимаете кнопку "Добавить". Первая же команда Код: plaintext
Для начала закроет ранее открытую таблицу, что сразу же разрушит Grid. Тем не менее, Вы сможете добавить запись. А вот завершающая команда USE без параметров закроет таблицу "с концами". Все! Работа с формой завершена. Grid просто нечего отображать. Не осталось ни одной открытой таблицы. Это, так сказать, "принципиальная" ошибка. Далее идут менее принципиальные, но, тоже существенные ошибки. Во-первых, в процессе работы делать упаковку (давать команду PACK) таблиц - глупо. "Накладные" расходы большие (во всех смыслах), а результат незначительный. Гораздо проще записи, помеченные как удаленные скрывать настройкой Код: plaintext
Во-вторых, чтобы сохранить структуру Grid при закрытии таблицы источника необходимо ПЕРЕД закрытием таблицы "отключить" Grid от таблицы. Еще раз напомню, что PACK пере открывает таблицу. Т.е. закрывает ее и снова открывает. Как сделать отключение Grid от таблицы показано по приведенной выше ссылке (подчеркнутый текст в сообщении проходящий. - это ссылка. Надо навести на нее указатель мыши и щелкнуть левой клавишей мыши). Пример reware - не полный. В том числе и поэтому, работать не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2010, 23:21 |
|
Помогите обновить Grid
|
|||
---|---|---|---|
#18+
ВладимирМ, Спасибо больше вы расписали что ещё сделать и теперь всё работает :D И всем остальным спасибо кто решил мне помочь ) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2010, 14:25 |
|
|
start [/forum/topic.php?fid=41&fpage=84&tid=1584733]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 415ms |
0 / 0 |