/// <summary> /// Binds the extender columns. /// </summary> private void BindExtenderColumns() { List<GridViewColumnInfo> ciCollection = new List<GridViewColumnInfo>(); // fill GridViewColumnInfo collection AdminView view = MainListView.GetAdminView(); if (view != null) { // get settings string gridSettingsKey = CMPageSettings.MakeGridSettingsKey(this.AppId, this.ViewId); string oldGridSettings = ProfileContext.Current.Profile.PageSettings.GetSettingString(gridSettingsKey); EcfListViewPreferences prefs = null; if (!String.IsNullOrEmpty(oldGridSettings)) prefs = UtilHelper.JsonDeserialize<EcfListViewPreferences>(oldGridSettings); // set columns' properties gvHeaderExtender.ColumnsInfo.Clear(); foreach (ViewColumn viewColumn in view.Columns) { if (!viewColumn.Visible) continue; GridViewColumnInfo gvColumn = new GridViewColumnInfo(); gvColumn.Sortable = viewColumn.ColumnType == ColumnType.Action ? false : viewColumn.AllowSorting; gvColumn.Resizable = viewColumn.ColumnType == ColumnType.CheckBox || viewColumn.ColumnType == ColumnType.Action ? false : viewColumn.Resizable; int width = 0; if (viewColumn.ColumnType == ColumnType.CheckBox) // checkbox column should be of fixed width width = EcfListView.DefaultCheckboxColumnWidth; else { // set width if (prefs != null && prefs.ColumnProperties[viewColumn.ColumnIndex.ToString()] != null) width = Int32.Parse((string)prefs.ColumnProperties[viewColumn.ColumnIndex.ToString()]); else if (!Int32.TryParse(viewColumn.Width, out width)) width = EcfListView.DefaultColumnWidth; } gvColumn.Width = width; gvHeaderExtender.ColumnsInfo.Add(gvColumn); } } this.gvHeaderExtender.HeaderHeight = EcfListView.DefaultHeaderHeight; this.gvHeaderExtender.StyleInfo = new Mediachase.Ibn.Web.UI.WebControls.GridStylesInfo(MainListView.HeaderCssClass, MainListView.GridCssClass, MainListView.FooterCssClass, MainListView.HeaderInnerCssClass, MainListView.GridInnerCssClass, MainListView.GridSelectedRowCssClass); }