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

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

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

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

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

Сообщение Леонид » 24 Апрель 2012, 8:01

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

GlobalRequest = InsertRecord
MAV_TAKEPRINTERS::Update(1, ?NameAccountPeriod:String{PROP:Text})
IF GlobalResponse = RequestCompleted
!Вот тут что-то надо написать...
ELSE
BRW1:Browse.NewSelection
END
SELECT(?List)
CYCLE

kreator
✯ Ветеран ✯
Сообщения: 3402
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator » 24 Апрель 2012, 13:30

Добавить в очередь бровза только одну запись?
We are hard at work… for you. :)

Леонид
Бывалый
Сообщения: 84
Зарегистрирован: 31 Август 2005, 16:07

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

Сообщение Леонид » 24 Апрель 2012, 13:56

kreator писал(а):Добавить в очередь бровза только одну запись?
Да. Тут которая добавилась в форме.

kreator
✯ Ветеран ✯
Сообщения: 3402
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator » 24 Апрель 2012, 15:48

Можно попробовать руками, типа:
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. :)

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4198
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

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

Сообщение Игорь Столяров » 24 Апрель 2012, 16:34

Леонид писал(а):Есть кнопка, скажем [Добавление с копированием]. Как обновить Browse без подкачки всего списка
А "весь список" и не обновляется ... Обновляется только отобращение записей в видимой части списка.
Ну если конечно для BROWSE не выбран тип FILE ...
«V» значит Вендетта !

Леонид
Бывалый
Сообщения: 84
Зарегистрирован: 31 Август 2005, 16:07

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

Сообщение Леонид » 24 Апрель 2012, 16:45

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

Леонид
Бывалый
Сообщения: 84
Зарегистрирован: 31 Август 2005, 16:07

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

Сообщение Леонид » 24 Апрель 2012, 16:45

Игорь Столяров писал(а):
Леонид писал(а):Есть кнопка, скажем [Добавление с копированием]. Как обновить Browse без подкачки всего списка
А "весь список" и не обновляется ... Обновляется только отобращение записей в видимой части списка.
Ну если конечно для BROWSE не выбран тип FILE ...
В MAV я использую полную загрузку (не постраничную)

kreator
✯ Ветеран ✯
Сообщения: 3402
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator » 24 Апрель 2012, 17:46

Я что-то упустил - если MAV, значит есть SQL сервер, значит работа в сети многопользовательская. Лучше, наверное, читать все, в т.ч. и изменения, сделанные другими пользователями.
We are hard at work… for you. :)

gopstop2007
✯ Ветеран ✯
Сообщения: 1266
Зарегистрирован: 25 Март 2009, 21:55

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

Сообщение gopstop2007 » 25 Апрель 2012, 18:57

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

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

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

Леонид
Бывалый
Сообщения: 84
Зарегистрирован: 31 Август 2005, 16:07

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

Сообщение Леонид » 26 Апрель 2012, 9:31

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
✯ Ветеран ✯
Сообщения: 1266
Зарегистрирован: 25 Март 2009, 21:55

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

Сообщение gopstop2007 » 14 Ноябрь 2012, 18:00

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

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

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

Ответить