powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление строки из grid
7 сообщений из 7, страница 1 из 1
Удаление строки из grid
    #39024258
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Прошу помощи и совета. Осваиваю view, в фоксе и программировании новичек, а книжка как-то не сильно помогла.

У меня имеется форма, на ней grid для наполнения и редактирования данных, источник для grid - view.
В случае удаления строки строка на gride не удаляется, только помечается на удаление. При сохранении документа удаляется из таблицы (помечается) корректно, отображает потом тоже все корректно. Однако это как-то негармонично, хочу сделать так, что бы строка удалялась на форме сразу, т.е. пользователь увидит, как строка исчезает непосредственно при нажатии кнопки.

Set deleted on прописано где надо и где не надо.

Код кнопки "удалить":

SELECT l_ord_dt && мой view
DELETE
thisform.grdDt.Refresh

Усли вставить REQUERY(), то view снова покажет все записи, как если бы set seleted был бы off.

Подскажите, куда копать?
...
Рейтинг: 0 / 0
Удаление строки из grid
    #39024400
T1gRa_NT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryKnSet deleted on прописано где надо и где не надо.

Вот это зря.
советую проверить в каком именно значении данная установка командой
Код: sql
1.
DISPLAY STATUS



Ваш вопрос с ответами:
http://www.sql.ru/forum/619577-2/opyat-pro-udalenie-v-grid

И на сладкое
Важное замечание Установка SET DELETED игнорируется, если областью действия данной команды по умолчанию является текущая запись или если задан диапазон, состоящий из одной записи. Команды INDEX и REINDEX всегда игнорируют установку SET DELETED и ин ексируют все записи в таблице.

Еще одно сладкое
Код: plsql
1.
Set filter to
...
Рейтинг: 0 / 0
Удаление строки из grid
    #39024410
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавь еще skip и проверку что не к конце стоишь
Код: sql
1.
2.
3.
4.
5.
if !eof('l_ord_dt')
   DELETE in l_ord_dt
   SKIP in l_ord_dt
endif
thisform.grdDt.Refresh


DmitryKnУсли вставить REQUERY(), то view снова покажет все записи, как если бы set seleted был бы off.

потому что ты удаляешь из представления (view), а не с сервера. REQUERY() пересчитывает данные с сервера.
Удаление надо дополнительно разрешать. Подробностей не помню, давно view не использовал.
...
Рейтинг: 0 / 0
Удаление строки из grid
    #39024481
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
T1gRa_NT,

Спасибо большое за совет.
...
Рейтинг: 0 / 0
Удаление строки из grid
    #39024488
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

Дмитрий, уже второй раз выручаешь, огромное спасибо, код работает )).

В коде я ставил DELETE in view, все тоже, а вот skip не использовал. Можно немного пояснений, в чем "физический" смысл skip, я просто отчетливо не догнал.

У меня уже был еще один случай, тоже код не работал из-за отсутствия Skip, бился-бился, но там была возможность подсмотреть в другом проекте, я его тупо вставил и заработало.

А в данном случае не возникло даже мысли использовать skip. Мы ведь пометили на удаление, и SET DELETED ON и обрефрешили грид и форму, так почему же строка не ушла с экрана? Для чего мы перешли на другую запись с помощью skip ?

Буду очень благодарен за пояснения, но даже и без них благодарен за помощь )
...
Рейтинг: 0 / 0
Удаление строки из grid
    #39028115
DmitryKnDima T,

Дмитрий, уже второй раз выручаешь, огромное спасибо, код работает )).

В коде я ставил DELETE in view, все тоже, а вот skip не использовал. Можно немного пояснений, в чем "физический" смысл skip, я просто отчетливо не догнал.

У меня уже был еще один случай, тоже код не работал из-за отсутствия Skip, бился-бился, но там была возможность подсмотреть в другом проекте, я его тупо вставил и заработало.

А в данном случае не возникло даже мысли использовать skip. Мы ведь пометили на удаление, и SET DELETED ON и обрефрешили грид и форму, так почему же строка не ушла с экрана? Для чего мы перешли на другую запись с помощью skip ?

Буду очень благодарен за пояснения, но даже и без них благодарен за помощь )Работа с view - это работа с удаленными данными, не с самими таблицами, а выборками из них, то есть с копиями, которые после изменений надо синхронизировать с данными в таблицах. Это основы работы с такими инструментами. Почитайте что-нить по архитектуре клиент-сервер и про режимы буферизации в фоксе.
...
Рейтинг: 0 / 0
Удаление строки из grid
    #39028272
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
правильный проходящий.,

Да, спасибо, уже немножко разобрался )
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление строки из grid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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