Сохранение настроек грида пользовательской формы

Материал из GedeminWiki
Перейти к: навигация, поиск

При работе с экранными формами, созданными через Редактор форм, часто возникает необходимость сохранения визуальных настроек, сделанных пользователем, данных из полей ввода и т.п.

При создании экранных форм в Редакторе форм, визуальные настройки гридов (видимость, порядок, ширина колонок и др.) помещенных на форму, автоматически не сохраняются и, соответственено, не восстанавливаются при повторном открытии формы. Допустим, на пользовательскую форму 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

Статья подготовлена по консультации с Александром.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты