List <DocumentsDisplayColumnInfo> RetrieveDisplayColumnSettings() { // custom viewstate implementation to avoid reflection var objDisplayColumnSettings = new List <DocumentsDisplayColumnInfo> (); DocumentsDisplayColumnInfo objDisplayColumnInfo = null; string strValues = null; strValues = Convert.ToString(ViewState [VIEWSTATE_DISPLAYCOLUMNSETTINGS]); if (!string.IsNullOrEmpty(strValues)) { foreach (string strDisplayColumnSetting in strValues.Split('#')) { objDisplayColumnInfo = new DocumentsDisplayColumnInfo(); objDisplayColumnInfo.ColumnName = strDisplayColumnSetting.Split(',') [0]; objDisplayColumnInfo.LocalizedColumnName = strDisplayColumnSetting.Split(',') [1]; objDisplayColumnInfo.DisplayOrder = Convert.ToInt32(strDisplayColumnSetting.Split(',') [2]); objDisplayColumnInfo.Visible = Convert.ToBoolean(strDisplayColumnSetting.Split(',') [3]); objDisplayColumnSettings.Add(objDisplayColumnInfo); } } return(objDisplayColumnSettings); }
void SaveDisplayColumnSettings(List <DocumentsDisplayColumnInfo> objSettings) { // custom viewstate implementation to avoid reflection DocumentsDisplayColumnInfo objDisplayColumnInfo = null; var strValues = ""; foreach (DocumentsDisplayColumnInfo objDisplayColumnInfo_loopVariable in objSettings) { objDisplayColumnInfo = objDisplayColumnInfo_loopVariable; if (strValues != string.Empty) { strValues = strValues + "#"; } strValues = strValues + objDisplayColumnInfo.ColumnName + "," + objDisplayColumnInfo.LocalizedColumnName + "," + objDisplayColumnInfo.DisplayOrder + "," + objDisplayColumnInfo.Visible; } ViewState [VIEWSTATE_DISPLAYCOLUMNSETTINGS] = strValues; }
/// ----------------------------------------------------------------------------- /// <summary> /// Read settings from the screen into the passed-in DocumentsSettings object /// </summary> /// <remarks> /// </remarks> /// <history> /// </history> /// ----------------------------------------------------------------------------- void FillSettings() { string strDisplayColumns = ""; DocumentsDisplayColumnInfo objColumnInfo = null; int intIndex = 0; var objSortColumns = default(ArrayList); string strSortColumnList = ""; DocumentsSortColumnInfo objSortColumn = null; // ensure that if categories list is checked that we did have an available category if ((chkUseCategoriesList.Checked && !lstNoListsAvailable.Visible)) { // if so, set normally Settings.UseCategoriesList = chkUseCategoriesList.Checked; Settings.CategoriesListName = cboCategoriesList.SelectedValue; } else { // otherwise default values Settings.UseCategoriesList = false; Settings.CategoriesListName = ""; } Settings.ShowTitleLink = chkShowTitleLink.Checked; Settings.AllowUserSort = chkAllowUserSort.Checked; Settings.GridStyle = comboGridStyle.SelectedItem.Value; try { DateTime.Now.ToString(textDateTimeFormat.Text); Settings.DateTimeFormat = textDateTimeFormat.Text; } catch (Exception ex) { Exceptions.LogException(ex); Settings.DateTimeFormat = null; } if (folderDefaultFolder.SelectedFolder != null) { Settings.DefaultFolder = folderDefaultFolder.SelectedFolder.FolderID; } else { Settings.DefaultFolder = null; } var objColumnSettings = RetrieveDisplayColumnSettings(); intIndex = 0; foreach (DocumentsDisplayColumnInfo objColumnInfo_loopVariable in objColumnSettings) { objColumnInfo = objColumnInfo_loopVariable; // Figure out column visibility objColumnInfo.Visible = ((CheckBox)grdDisplayColumns.Items [intIndex].Cells [1].FindControl("chkVisible")).Checked; if (strDisplayColumns != string.Empty) { strDisplayColumns = strDisplayColumns + ","; } strDisplayColumns = strDisplayColumns + objColumnInfo.ColumnName + ";" + objColumnInfo.Visible.ToString(); intIndex = intIndex + 1; } Settings.DisplayColumns = strDisplayColumns; objSortColumns = RetrieveSortColumnSettings(); foreach (DocumentsSortColumnInfo objSortColumn_loopVariable in objSortColumns) { objSortColumn = objSortColumn_loopVariable; if (strSortColumnList != string.Empty) { strSortColumnList = strSortColumnList + ","; } strSortColumnList = strSortColumnList + (objSortColumn.Direction == DocumentsSortColumnInfo.SortDirection.Descending ? "-" : "") + objSortColumn.ColumnName; } Settings.SortOrder = strSortColumnList; Settings.GridStyle = comboGridStyle.SelectedValue; }
/// <summary> /// LoadSettings loads the settings from the Databas and displays them /// </summary> public override void LoadSettings() { DocumentsDisplayColumnInfo objColumnInfo = null; try { if (!IsPostBack) { LoadLists(); chkShowTitleLink.Checked = Settings.ShowTitleLink; chkUseCategoriesList.Checked = Settings.UseCategoriesList; chkAllowUserSort.Checked = Settings.AllowUserSort; comboGridStyle.SelectByValue(Settings.GridStyle); textDateTimeFormat.Text = Settings.DateTimeFormat; try { if (Settings.DefaultFolder != null) { folderDefaultFolder.SelectedFolder = FolderManager.Instance.GetFolder(Settings.DefaultFolder.Value); } } catch (Exception ex) { // can be caused if the selected folder has been deleted Exceptions.LogException(ex); } try { cboCategoriesList.SelectedValue = Settings.CategoriesListName; } catch (Exception ex) { // can be caused if the selected list has been deleted Exceptions.LogException(ex); } // read "saved" column sort orders in first var objColumnSettings = Settings.GetDisplayColumnList(LocalResourceFile); foreach (DocumentsDisplayColumnInfo objColumnInfo_loopVariable in objColumnSettings) { objColumnInfo = objColumnInfo_loopVariable; // set localized column names objColumnInfo.LocalizedColumnName = Localization.GetString( objColumnInfo.ColumnName + ".Column", LocalResourceFile); } // add any missing columns to the end foreach (string strColumnName_loopVariable in DocumentsDisplayColumnInfo.AvailableDisplayColumns) { var strColumnName = strColumnName_loopVariable; if (DocumentsSettings.FindColumn(strColumnName, objColumnSettings, false) < 0) { objColumnInfo = new DocumentsDisplayColumnInfo(); objColumnInfo.ColumnName = strColumnName; objColumnInfo.LocalizedColumnName = Localization.GetString( objColumnInfo.ColumnName + ".Column", LocalResourceFile); objColumnInfo.DisplayOrder = objColumnSettings.Count + 1; objColumnInfo.Visible = false; objColumnSettings.Add(objColumnInfo); } } // sort by DisplayOrder BindColumnSettings(objColumnSettings); // load sort columns string strSortColumn = null; foreach (string strSortColumn_loopVariable in DocumentsDisplayColumnInfo.AvailableSortColumns) { strSortColumn = strSortColumn_loopVariable; comboSortFields.AddItem(LocalizeString(strSortColumn + ".Column"), strSortColumn); } BindSortSettings(Settings.GetSortColumnList(LocalResourceFile)); // load grid style comboGridStyle.SelectByValue(Settings.GridStyle); } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }