/// <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);
		}