Сохранение настроек грида пользовательской формы
Материал из GedeminWiki
Версия от 14:58, 9 ноября 2011; SYSDBA (обсуждение | вклад)
При работе с экранными формами, созданными через Редактор форм, часто возникает необходимость сохранения визуальных настроек, сделанных пользователем, данных из полей ввода и т.п.
При создании экранных форм в Редакторе форм, визуальные настройки гридов (видимость, порядок, ширина колонок и др.) помещенных на форму, автоматически не сохраняются и, соответственено, не восстанавливаются при повторном открытии формы. Допустим, на пользовательскую форму usrf_MY_FORM мы разместили компонент usrg_gsIBGrid1: TgsIBGrid. В обработчиках событий OnLoadSettingAfterCreate и OnSaveSetting данной формы необходимо прописать следующий код для восстановления/сохранения визуальных настроек:
option explicit sub usrf_MY_FORMOnLoadSettingsAfterCreate(ByVal Sender) '*** Данный код необходим для вызова встроенного обработчика *** '*** В случае его удаления возможно нарушение работы системы *** call Inherited(Sender, "OnLoadSettingsAfterCreate", Array(Sender)) '*** конец кода поддержки встроенного обработчика *** dim usrg_gsIBGrid1 set usrg_gsIBGrid1 = Sender.OwnerForm.GetComponent("usrg_gsIBGrid1") Sender.LoadGrid(usrg_gsIBGrid1) end sub option explicit sub usrf_MY_FORMOnSaveSettings(ByVal Sender) '*** Данный код необходим для вызова встроенного обработчика *** '*** В случае его удаления возможно нарушение работы системы *** call Inherited(Sender, "OnSaveSettings", Array(Sender)) '*** конец кода поддержки встроенного обработчика *** dim usrg_gsIBGrid1 set usrg_gsIBGrid1 = Sender.OwnerForm.GetComponent("usrg_gsIBGrid1") if usrg_gsIBGrid1.SettingsModified then Sender.SaveGrid(usrg_gsIBGrid1) end if end sub
Статья подготовлена по консультации с Александром.