Удаление записи из BROWSE
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Удаление записи из BROWSE
Привет всем !
Что-то я подвис, хотя вроде бы задача простая.
- Если удалять одну запись из BROWSE штатной операцией DELETE (из шаблона), то после удаления
список обновляется и засветка списка аккуратно становится на следующую запись.
- Если удалять запись вручную, с обновлением списка - то после удаления записи эту засветку непредсказуемо
кидает то на начало, то на хвост списка (видимо зависит от текущей сортировки).
Подскажите пжалуйста, как нужно обновлять список BROWSE после удаления записи, что бы он вёл себя пристойно ?
Заранее спасибо !
Что-то я подвис, хотя вроде бы задача простая.
- Если удалять одну запись из BROWSE штатной операцией DELETE (из шаблона), то после удаления
список обновляется и засветка списка аккуратно становится на следующую запись.
- Если удалять запись вручную, с обновлением списка - то после удаления записи эту засветку непредсказуемо
кидает то на начало, то на хвост списка (видимо зависит от текущей сортировки).
Подскажите пжалуйста, как нужно обновлять список BROWSE после удаления записи, что бы он вёл себя пристойно ?
Заранее спасибо !
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Удаление записи из BROWSE
А как Вы удаляете вручную? По-моему SELF.ResetQueue(Reset:Queue) не должен приводить к таким последствиям. Во всяком случае, в класах SV так.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Удаление записи из BROWSE
Я удаляю конкретно !
Т.е. по нажатию кнопы выполняю DELETE(MyFile) и потом изменяю значение флага,
который есть в списке Reset Fields для BROWSE … может я здесь в чём-то был не прав ?
Т.е. по нажатию кнопы выполняю DELETE(MyFile) и потом изменяю значение флага,
который есть в списке Reset Fields для BROWSE … может я здесь в чём-то был не прав ?
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Удаление записи из BROWSE
Зачем? Удаляете запись и выполняете:
Код: Выделить всё
BRWx.ResetQueue(Reset:Queue)
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Удаление записи из BROWSE
Неа ! Всё равно кидает засветку на верхнюю запись в списке.
Как я понимаю - нужно получать номер следующей записи в QUEUE списка и делать её текущей после удаления.
Только кто же её знает какая из них следующая …
Как я понимаю - нужно получать номер следующей записи в QUEUE списка и делать её текущей после удаления.
Только кто же её знает какая из них следующая …
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Удаление записи из BROWSE
Уберите Reset Field. Всё портит, похоже. Попробую тест у себя прогнать. Не верится. В классах именно так написано.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Удаление записи из BROWSE
У меня вот так работает правильно:
Код: Выделить всё
get(BRW1.Q, choice(?List))
SPRAV.ID_SPR = BRW1.Q.SPR:ID_SPR
Relate:SPRAV.Delete()
BRW1.ResetQueue(Reset:Queue)
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Удаление записи из BROWSE
Код: Выделить всё
BRW1.ResetQueue(Reset:Queue)
самое оно )
Код: Выделить всё
BRW1.ResetFromBuffer
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Удаление записи из BROWSE
Не, ну так это же совсем другое дело ! Спасибо ! Теперь всё правильно.
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Удаление записи из BROWSE
Почему у меня не прыгает? Из-за драйвера? Из-за сортировки? В ResetFromBuffer вот такое, правда:
Код: Выделить всё
SELF.ResetQueue(Reset:Done)
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Удаление записи из BROWSE
У Вас же работа с SQL драйвером, а не ISAM ...
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Удаление записи из BROWSE
И что? Скорее всего, есть какие-то отличия. Даже просто может быть в настройках броуза. Я, например, всегда использую "File Loading". Может сортировка виновата. У меня всегда используется уникальный ключ. Теоретически разница в поведении между ISAM и SQL должна быть.
We are hard at work… for you.