Как сделать подкачку записи в Browse

Обсуждение MAV Direct ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Леонид
Бывалый
Сообщения: 84
Зарегистрирован: 31 Август 2005, 17:07

Как сделать подкачку записи в Browse

Сообщение Леонид »

Есть кнопка, скажем [Добавление с копированием]. Как обновить Browse без подкачки всего списка, типа:

GlobalRequest = InsertRecord
MAV_TAKEPRINTERS::Update(1, ?NameAccountPeriod:String{PROP:Text})
IF GlobalResponse = RequestCompleted
!Вот тут что-то надо написать...
ELSE
BRW1:Browse.NewSelection
END
SELECT(?List)
CYCLE
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Re: Как сделать подкачку записи в Browse

Сообщение kreator »

Добавить в очередь бровза только одну запись?
We are hard at work… for you. :)
Леонид
Бывалый
Сообщения: 84
Зарегистрирован: 31 Август 2005, 17:07

Re: Как сделать подкачку записи в Browse

Сообщение Леонид »

kreator писал(а):Добавить в очередь бровза только одну запись?
Да. Тут которая добавилась в форме.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Re: Как сделать подкачку записи в Browse

Сообщение kreator »

Можно попробовать руками, типа:
BRW1.Q.FIL:ID = поле ID добавленной записи
BRW1.Q.FIL:Name = поле Name добавленной записи
add(BRW1.Q)
не забыть потом display(?Browse:1)
может понадобиться sort(BRW1.Q,......)
Вообще, криво это и возникает вопрос "А зачем?".
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Как сделать подкачку записи в Browse

Сообщение Игорь Столяров »

Леонид писал(а):Есть кнопка, скажем [Добавление с копированием]. Как обновить Browse без подкачки всего списка
А "весь список" и не обновляется ... Обновляется только отобращение записей в видимой части списка.
Ну если конечно для BROWSE не выбран тип FILE ...
За теми кто отстал - не возвращаться. (С) Кодекс
Леонид
Бывалый
Сообщения: 84
Зарегистрирован: 31 Август 2005, 17:07

Re: Как сделать подкачку записи в Browse

Сообщение Леонид »

kreator писал(а):Можно попробовать руками, типа:
BRW1.Q.FIL:ID = поле ID добавленной записи
BRW1.Q.FIL:Name = поле Name добавленной записи
add(BRW1.Q)
не забыть потом display(?Browse:1)
может понадобиться sort(BRW1.Q,......)
Вообще, криво это и возникает вопрос "А зачем?".
Да. кривовато. Самое интересное: буфер добавленной записи есть и повторно его тянуть с сервера - как-то не того, ну или код писать ручной добавления в очередь...
Методов то в INC-файле много, ряд по смыслу попробовал - не катят. Хотя может неправильно их вызываю...
Леонид
Бывалый
Сообщения: 84
Зарегистрирован: 31 Август 2005, 17:07

Re: Как сделать подкачку записи в Browse

Сообщение Леонид »

Игорь Столяров писал(а):
Леонид писал(а):Есть кнопка, скажем [Добавление с копированием]. Как обновить Browse без подкачки всего списка
А "весь список" и не обновляется ... Обновляется только отобращение записей в видимой части списка.
Ну если конечно для BROWSE не выбран тип FILE ...
В MAV я использую полную загрузку (не постраничную)
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Re: Как сделать подкачку записи в Browse

Сообщение kreator »

Я что-то упустил - если MAV, значит есть SQL сервер, значит работа в сети многопользовательская. Лучше, наверное, читать все, в т.ч. и изменения, сделанные другими пользователями.
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Re: Как сделать подкачку записи в Browse

Сообщение gopstop2007 »

не совсем ясно, если нужно чтобы запись появилась у пользователя который создал запись, так она и появляется без принудительного обновления(refresh) кнопки, если для всех остальных пользователей то интересно как это все корректно будет отслеживаться, при одновременном добавлении нескольких записей?

BRW1.Q.FIL:ID = поле ID добавленной записи
BRW1.Q.FIL:Name = поле Name добавленной записи

IF MAVINSERT(Таблица) THEN MAVSHOWERROR() END
BRW1:BROWSE.Load
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Леонид
Бывалый
Сообщения: 84
Зарегистрирован: 31 Август 2005, 17:07

Re: Как сделать подкачку записи в Browse

Сообщение Леонид »

gopstop2007 писал(а):не совсем ясно, если нужно чтобы запись появилась у пользователя который создал запись, так она и появляется без принудительного обновления(refresh) кнопки, если для всех остальных пользователей то интересно как это все корректно будет отслеживаться, при одновременном добавлении нескольких записей?

BRW1.Q.FIL:ID = поле ID добавленной записи
BRW1.Q.FIL:Name = поле Name добавленной записи

IF MAVINSERT(Таблица) THEN MAVSHOWERROR() END
BRW1:BROWSE.Load
Метод Load это опять же Select, т.е. обращение к базе. А свою ситуацию я описал в первом посте. Понятно, что я могу и сам "ручками" написать код обновления списка, просто думал, может есть уже готовые методы. Скажем по смыслу могло бы подойти FillQueue или FillBuffer - но что-то не срабатывают или они для чего-то другого. Help-то совсем скудный
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Re: Как сделать подкачку записи в Browse

Сообщение gopstop2007 »

Правда запоздалый ответ, но может кому-то пригодится

BRW1:Browse.FillRecord ! переписали из FILE в пирёмник Browse
BRW1:Browse.FillQueue ! проинициализировали запись Queue Browse
PUT(Queue:Browse)

запись записывается без подзагрузки всего списка
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить