User Preferences
User Preferences – механизм, который позволяет сохранять пользовательские настройки (например: в каком виде по умолчанию отображать цвета в палитре - thumb view/list view).
Данный механизм чаще всего используютсяиспользуется для grid-ов, когда пользователь скрывает или упорядочивает колонки. Установленные параметры сохраняются. То есть, когда пользователь зайдет в систему в следующий раз — данные отобразятся по его настройкам.
Для реализации этого функционала используются две таблицы:
- uUserPreferenceObject - таблица с объектами и страницами (на одной странице может быть несколько разных объектов для сохранения / одинаковые объекты могут быть на большом количестве страниц)
- uUserPreference - здесь хранятся объекты, их ключи (например: значение табуляции, скрытые колонки, выбран/не выбран чекбокс), значения которые нужно сохранять (например: какие именно колонки скрыты)
Есть специальный класс - UserPreference (находится в Yunique.BOL).
У данного класса есть методы, которые позволяют загружать и сохранять пользовательские настройки.
Главный метод, который предназначен для загрузки: LoadUserPreference(). Сюда передаются параметры: имя объекта, название страницы, ключ, идентификатор пользователя, имя пользователя.
Dim objUserPreferenceAPI As New Yunique.BOL.UserPreference()Также, возможно сделать так, чтобы настройки установленные одним пользователем применялись для всех остальных пользователей (для этого передается Guid Empty вместо UserProperties.TeamID).
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)
Добавление страниц:
Когда делаются установки, проверяется есть ли эта страница и этот объект. Если их нет — они создаются, если есть — происходит обновление данных.