< назад

WAIT CONTROL

 Region "Rad grid"
 
 Private Sub LoadSaveRadGrid(ByVal blnLoadGrid As Boolean, _ Optional ByVal blnWholeGrid As Boolean = True, _ Optional ByVal blnJustSettings As Boolean = False, _ Optional ByVal blnTransformCardView2ListView As Boolean = False, Optional ByVal blnFixGroupHeaderTexts As Boolean = False)
 
 If m_objRadGridHandler Is Nothing Then m_objRadGridHandler = New Yunique.Core.UI.RadGridHandler() End If
 
 Using dstXmlData As New DataSet() dstXmlData.ReadXml(String.Format("{0}\{1}", strXMLPath, strGridSchema))
 
 m_objRadGridHandler.ClientCulture = Me.strClientCulture     - задание языковых настроек m_objRadGridHandler.ServerCulture = Me.strServerCulture m_objRadGridHandler.ServerTimeZone = Me.strServerTimeZone   - задание временной зоны m_objRadGridHandler.FormName = "Change_Main" m_objRadGridHandler.XMLSchemaName = Me.strGridSchema        - XML-схема, которая предназначена для этого grid-а m_objRadGridHandler.GridReadOnly = True                     - read only (поля будут только для чтения) m_objRadGridHandler.DatabaseConnectionString = Me.strConnection - строка подключения к БД m_objRadGridHandler.XmlData = dstXmlData                    - dataset, который строится на основании XML m_objRadGridHandler.XmlSearchData = dstXmlData m_objRadGridHandler.IsPostBack = Page.IsPostBack m_objRadGridHandler.IsCallBack = Page.IsCallback            - значение, указывающее, является ли запрос страницы результатом обратного вызова m_objRadGridHandler.PreferredLanguage = Me.UserProperties.PrefLang  - язык grid-а m_objRadGridHandler.CellImageHeight = "050"                 - высота ячейки с картинками End Using
 
 If blnLoadGrid Then
 
 If blnWholeGrid Then
 
 '''''''''''''''''''''''''''''' ' Set the search parameters. ' '''''''''''''''''''''''''''''' m_objRadGridHandler.RowFilter = ""
 
 '''''''''''''''''' ' Load the Grid. ' '''''''''''''''''' m_RadGridStyles = New Telerik.Web.UI.RadGrid()          - создается объект класса RadGrid m_RadGridStyles.ID = "RadGridStyles"                    - ID - уникальное имя грида на странице m_RadGridStyles.PagerStyle.Visible = False              - отображение стандартного пейджинга в стиле Telerik.Web.UI(False - отключить) m_RadGridStyles.MasterTableView.EnableColumnsViewState = False  - задаём, что столбцы могут изменяться на каком то этапе m_RadGridStyles.ClientSettings.ClientEvents.OnColumnHidden = "ColumnHidden" - имя javascript функции для скрытия колонок m_RadGridStyles.ClientSettings.ClientEvents.OnColumnShown = "ColumnShown"   - имя javascript функции для отображения колонок m_RadGridStyles.MasterTableView.ClientDataKeyNames = New String() {"Image", "StyleNo"}  - задание ключей для каждого элемента(строки) в гриде m_RadGridStyles.HeaderContextMenu.EnableEmbeddedSkins = False   - отображать контекстное меню в стиле Telerik.Web.UI(False - не отображать) AddHandler m_RadGridStyles.HeaderContextMenu.ItemClick, AddressOf HeaderContextMenu_ItemClick   - создание контекстного меню для грида
 
 m_objRadGridHandler.SetupGrid(m_RadGridStyles)          - загрузка настроек для грида m_objRadGridHandler.AddMainGridColumns(m_RadGridStyles) - добавление колонок m_RadGridStyles.AllowCustomPaging = True                - включить Database пейджинг
                 
 If Page.IsPostBack And Request.Form(chbThumbnail.UniqueID) IsNot Nothing Then   - отображаем или скрываем колнку предпросмотра изображения(Thumbnail) Dim thumbnailColumn As GridColumn = m_RadGridStyles.MasterTableView.GetColumnSafe("Image") If thumbnailColumn IsNot Nothing Then thumbnailColumn.Visible = True 'm_RadGridStyles.DataSource = Nothing 'm_RadGridStyles.Rebind() End If End If
 
 For Each column As GridColumn In m_RadGridStyles.MasterTableView.Columns    - подготовка данных для сохранения настроек If String.IsNullOrEmpty(column.GroupByExpression) Then Dim strName As String = column.UniqueName Dim strAlias As String = column.HeaderText column.GroupByExpression = String.Format("{0} [{1}] Group By {0}", strName, strAlias) column.SortExpression = strName column.SortedBackColor = System.Drawing.Color.FromArgb(152, 251, 152) End If Next
 
 If m_RadGridStyles.MasterTableView.GetColumnSafe("LineFolderItemDrop") IsNot Nothing Then   - создание дополнительных колонок, которых нет в XML-схеме m_RadGridStyles.MasterTableView.GetColumn("LineFolderItemDrop").HeaderText = "" m_RadGridStyles.MasterTableView.GetColumn("LineFolderItemDrop").GroupByExpression = "LineFolderItemDrop [" & "" & "] Group By LineFolderItemDrop" End If
 
 Dim dsSettings As DataSet
 
 ' load group and group sorting Dim objUserPreferenceAPI As New Yunique.BOL.UserPreference() '----------------------------------------------' загрузка пользовательской группировки с сервера
                 
 dsSettings = objUserPreferenceAPI.LoadUserPreference(Me.ClientID & "_" & "RadGridStyles", aspxPageName, "GridGroupSort", UserProperties.TeamID, UserProperties.Username)
 
 Dim strColumnUniqueName As String = Nothing Dim strColumnGroupByOrder As String = Nothing Dim strGroupByExpression As String = Nothing
 
 If dsSettings IsNot Nothing AndAlso dsSettings.Tables(0).Rows.Count > 0 Then Dim arrColumns As Array = Split(dsSettings.Tables(0).Rows(0)("UserPreferenceValue").ToString, ",")
 
 For Each strColumnNameAndOrder As String In arrColumns If Not String.IsNullOrEmpty(strColumnNameAndOrder) Then strColumnUniqueName = Left(strColumnNameAndOrder, strColumnNameAndOrder.IndexOf(" ")) strColumnGroupByOrder = Right(strColumnNameAndOrder, strColumnNameAndOrder.Length - strColumnNameAndOrder.IndexOf(" ") - 1) If m_RadGridStyles.MasterTableView.Columns.FindByUniqueNameSafe(strColumnUniqueName) IsNot Nothing Then strGroupByExpression = m_RadGridStyles.MasterTableView.Columns.FindByUniqueName(strColumnUniqueName).GroupByExpression strGroupByExpression = strGroupByExpression.Replace(" ASC", "").Replace(" DESC", "").Trim() strGroupByExpression &= " " & strColumnGroupByOrder m_RadGridStyles.MasterTableView.GroupByExpressions.Add(strGroupByExpression) End If End If Next End If '------------------------------------------
 
 Dim expression As New GridSortExpression() For Each strColumnNameAndOrder As String In arrColumns If Not String.IsNullOrEmpty(strColumnNameAndOrder) Then strColumnUniqueName = Left(strColumnNameAndOrder, strColumnNameAndOrder.IndexOf(" ")) strColumnGroupByOrder = Right(strColumnNameAndOrder, strColumnNameAndOrder.Length - strColumnNameAndOrder.IndexOf(" ") - 1) If m_RadGridStyles.MasterTableView.Columns.FindByUniqueNameSafe(strColumnUniqueName) IsNot Nothing Then Select Case strColumnGroupByOrder Case "ASC" strColumnGroupByOrder = "Ascending" Case "DESC" strColumnGroupByOrder = "Descending" Case Else strColumnGroupByOrder = "None" End Select
 
 expression.FieldName = strColumnUniqueName expression.SetSortOrder(strColumnGroupByOrder) m_RadGridStyles.MasterTableView.SortExpressions.AddSortExpression(expression) End If End If Next End If '---------------------------------------------------------------- загрузка пользовательских настроек отображаемых колонок с сервера 'load hidden columns dsSettings = objUserPreferenceAPI.LoadUserPreference(Me.ClientID & "_" & "RadGridStyles", aspxPageName, "HiddenColumns", UserProperties.TeamID, UserProperties.Username) If dsSettings IsNot Nothing AndAlso dsSettings.Tables(0).Rows.Count > 0 Then Dim arrColumns As Array = Split(dsSettings.Tables(0).Rows(0)("UserPreferenceValue").ToString, ",")
 
 For Each strHiddenColumnName As String In arrColumns Dim hiddenGridColumn As Telerik.Web.UI.GridColumn = m_RadGridStyles.MasterTableView.Columns.FindByUniqueNameSafe(strHiddenColumnName) If hiddenGridColumn IsNot Nothing Then hiddenGridColumn.Display = False End If Next End If

Me.plhStylesGrid.Controls.Clear() Me.plhStylesGrid.Controls.Add(m_RadGridStyles) End If 'If blnJustSettings Then ' '''''''''''''''''''''''''''''''''''' ' ' Restore grid persisted settings. ' ' '''''''''''''''''''''''''''''''''''' ' m_objRadGridHandler.LoadPersistedGridSettings(m_RadGridTplData, Me.UserProperties.TeamID) 'End If If blnTransformCardView2ListView Then ''''''''''''''''''''''''''''''''''''''''''''''''''' ' Transform the grid from Card View to List View. ' ''''''''''''''''''''''''''''''''''''''''''''''''''' m_objRadGridHandler.TransformCardView2ListView(m_RadGridStyles) End If If blnFixGroupHeaderTexts Then ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Fix the text used in the group headers for dropdownlists. ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' m_objRadGridHandler.FixGroupHeaderTexts(m_RadGridStyles) End If Else If blnWholeGrid Then '''''''''''''''''' ' Save the Grid. ' '''''''''''''''''' m_objRadGridHandler.SaveGrid(m_RadGridStyles, Request, Me.strXMLPath, Me.strGridSchema, "RadGridChangeLog", "ChangeLogItemID", Me.UserProperties.Fullname) End If 'If blnJustSettings Then ' '''''''''''''''''''''''''''''' ' ' Persist the grid settings. ' ' '''''''''''''''''''''''''''''' ' m_objRadGridHandler.PersistGridSettings(m_RadGridTplData, Me.UserProperties.TeamID) 'End If End If End Sub