< назад

User Preferences

User Preferences – механизм, который позволяет сохранять пользовательские настройки (например: в каком виде по умолчанию отображать цвета в палитре - thumb view/list view).
Данный механизм чаще всего используются для grid-ов, когда пользователь скрывает или упорядочивает колонки. Установленные параметры сохраняются. То есть, когда пользователь зайдет в систему в следующий раз — данные отобразятся по его настройкам.

Для реализации этого функционала используются две таблицы:

  • uUserPreferenceObject - таблица с объектами и страницами (на одной странице может быть несколько разных объектов для сохранения / одинаковые объекты могут быть на большом количестве страниц)

  • uUserPreference - здесь хранятся объекты, их ключи (например: значение табуляции, скрытые колонки, выбран/не выбран чекбокс), значения которые нужно сохранять (например: какие именно колонки скрыты)

Есть специальный класс - UserPreference (находится в Yunique.BOL).
У данного класса есть методы, которые позволяют загружать и сохранять пользовательские настройки.

Главный метод, который предназначен для загрузки: LoadUserPreference(). Сюда передаются параметры: имя объекта, название страницы, ключ, идентификатор пользователя, имя пользователя пользователя.
Также, возможно сделать так, чтобы настройки установленные одним пользователем применялись для всех остальных пользователей (для этого передается Guid Empty вместо UserProperties.TeamID).

 Dim objUserPreferenceAPI As New Yunique.BOL.UserPreference()
Dim dsResults As DataSet = objUserPreferenceAPI.LoadUserPreference(YSTabView1.ClientID, aspxPageName, "TAB", UserProperties.TeamID, UserProperties.Username)


Сохранение пользовательских настроек (в данный метод также передаются значения, установленные пользователем):

 Dim objUserPreferenceAPI As New Yunique.BOL.UserPreference()
objUserPreferenceAPI.SetUserPreference(YSTabView1.ClientID, aspxPageName, "TAB", _Tab, UserProperties.TeamID, UserProperties.Username)

Добавление страниц:
Когда делаются установки, проверяется есть ли эта страница и этот объект. Если их нет — они создаются, если есть — происходит обновление данных.