Подскажите как обновить отображение Browse, при изменении данных в базе (Refresh)?
У меня как то очень криво, хотелось бы попроще!
Как прописать Refresh Browse?
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Гость
Гость
Гость
Гость
Сообщение Гость »
Если для ШВС, то могу предложить пример организации кнопки "Обновление
таблицы"
на тулбаре. В файле LibSrc\TplEqu_r.clw вставьте строку типа
FsBrowseRefresh EQUATE(2604)
Для полного счастья можно включить поддержку этих контролов в визарды.
Вячеслав Черников <support@finsoft.ryazan.ru>
Написал: ClaList(2)
таблицы"
на тулбаре. В файле LibSrc\TplEqu_r.clw вставьте строку типа
FsBrowseRefresh EQUATE(2604)
Для полного счастья можно включить поддержку этих контролов в визарды.
Код: Выделить всё
#!==========================================================================
==========
#CONTROL(FsBrowseRefreshFrame,'Контрол для обновления Browse на
Frame'),WINDOW
#!==========================================================================
==========
#RESTRICT,WHERE(UPPER(%ProcedureTemplate)='FRAME')
#ENDRESTRICT
CONTROLS
BUTTON,AT(,,16,14),USE(?FsBrowseRefresh,FsBrowseRefresh),DISABLE,FLAT,TIP('О
бновить таблицу'),ICON('Refresh.ico')
END
#AT(%WindowOtherEventHandling)
CASE ACCEPTED()
OF FsBrowseRefresh
POST(EVENT:Accepted,ACCEPTED(),SYSTEM{Prop:Active})
CYCLE
END
#ENDAT
#!
#!==========================================================================
=======
#CONTROL (FsBrowseRefreshBrowse, 'Контрол для обновления
Browse'),REQ(BrowseBox(Clarion))
CONTROLS
BUTTON('Обновить'),AT(,,57,14),USE(?FsBrRefresh),HIDE
END
#!==========================================================================
=======
#ATSTART
#DECLARE (%ButtonRefresh)
#FOR (%Control), WHERE(%ControlInstance = %ActiveTemplateInstance)
#SET (%ButtonRefresh, %Control)
#ENDFOR
#ENDAT
#!
#LOCALDATA
Loc:BrowseRefreshAct Long !активный browse
Loc:BrowseRefreshEnable Byte !флаг установки активности контрола в frame
#ENDLOCALDATA
#!
#AT(%WindowOtherEventHandling,%ActiveTemplateParentInstance)
if Loc:BrowseRefreshAct=%ActiveTemplateParentInstance
IF ACCEPTED()=FsBrowseRefresh THEN
POST(EVENT:ACCEPTED,%ButtonRefresh)
END
end
#ENDAT
#!
#AT
(%AcceptLoopBeforeFieldHandling,%ActiveTemplateParentInstance),PRIORITY(5000
)
if event()=EVENT:SELECTED
if field()=%ListControl
Enable(FsBrowseRefresh)
Loc:BrowseRefreshEnable=1
Loc:BrowseRefreshAct=%ActiveTemplateParentInstance
else
if Loc:BrowseRefreshEnable=0
Disable(FsBrowseRefresh)
end
end
end
#ENDAT
#AT
(%AcceptLoopBeforeFieldHandling,%ActiveTemplateParentInstance),PRIORITY(5001
)
Loc:BrowseRefreshEnable=0
#ENDAT
#!
#AT (%ControlPostEventHandling, %ButtonRefresh, 'Accepted')
%InstancePrefix:RefreshMode = RefreshOnPosition
DO %InstancePrefix:RefreshPage
#ENDAT
Написал: ClaList(2)
Гость
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)