protected virtual void UpdatePageViewItems(IRadPageViewProvider pageViewProvider) { this.suspendTabChanging = true; if (!(pageViewProvider is RadPageViewExplorerBarProvider)) { GridTableElement childTableElement = this.CreateChildTableElement(); if (this.GridViewElement.UseScrollbarsInHierarchy && !(pageViewProvider is RadPageViewStripProvider)) { childTableElement.StretchVertically = true; } this.pageViewElement.ContentArea.Children.Add((RadElement)childTableElement); } this.Children.Add((RadElement)this.pageViewElement); while (this.PageViewElement.Items.Count > 0) { this.PageViewElement.Items[0].RadPropertyChanging -= new RadPropertyChangingEventHandler(this.item_RadPropertyChanging); this.PageViewElement.Items[0].RadPropertyChanged -= new RadPropertyChangedEventHandler(this.item_RadPropertyChanged); this.PageViewElement.RemoveItem(this.PageViewElement.Items[0]); } RadPageViewItem selectedItem = (RadPageViewItem)null; if (this.pageViewElement is RadPageViewStripElement || this.pageViewElement is RadPageViewOutlookElement) { for (int index = 0; index < this.HierarchyRow.Views.Count; ++index) { if (this.HierarchyRow.Views[index].ViewTemplate != this.ViewTemplate) { RadPageViewItem pageViewItem = this.CreatePageViewItem(pageViewProvider, this.HierarchyRow.Views[index]); this.pageViewElement.AddItem(pageViewItem); if (pageViewItem.Tag == this.HierarchyRow.ActiveView) { selectedItem = pageViewItem; } } } } else { for (int index = this.HierarchyRow.Views.Count - 1; index >= 0; --index) { if (this.HierarchyRow.Views[index].ViewTemplate != this.ViewTemplate) { RadPageViewItem pageViewItem = this.CreatePageViewItem(pageViewProvider, this.HierarchyRow.Views[index]); this.pageViewElement.AddItem(pageViewItem); if (pageViewItem.Tag == this.HierarchyRow.ActiveView) { selectedItem = pageViewItem; } } } } this.UpdateSelectedPageViewItem(selectedItem); RadPageViewOutlookElement pageViewElement = this.pageViewElement as RadPageViewOutlookElement; pageViewElement?.HideItems(pageViewElement.Items.Count); this.suspendTabChanging = false; }
protected virtual RadPageViewItem CreatePageViewItem( IRadPageViewProvider pageViewProvider, GridViewInfo viewInfo) { RadPageViewItem pageViewItem = pageViewProvider.CreatePageViewItem((object)this); string str = "table"; if (!string.IsNullOrEmpty(viewInfo.ViewTemplate.DataMember)) { str = viewInfo.ViewTemplate.DataMember; } if (!string.IsNullOrEmpty(viewInfo.ViewTemplate.Caption)) { str = viewInfo.ViewTemplate.Caption; } pageViewItem.Tag = (object)viewInfo; pageViewItem.Text = str; pageViewItem.RadPropertyChanging += new RadPropertyChangingEventHandler(this.item_RadPropertyChanging); pageViewItem.RadPropertyChanged += new RadPropertyChangedEventHandler(this.item_RadPropertyChanged); RadPageViewExplorerBarItem viewExplorerBarItem = pageViewItem as RadPageViewExplorerBarItem; if (viewExplorerBarItem != null) { GridTableElement viewUiElement = (GridTableElement)viewInfo.ViewTemplate.ViewDefinition.CreateViewUIElement(viewInfo); viewUiElement.ViewElement.StretchVertically = false; viewUiElement.StretchVertically = false; viewExplorerBarItem.IsExpanded = true; viewExplorerBarItem.AssociatedContentAreaElement = new RadPageViewContentAreaElement(); RadPageViewExplorerBarElement pageViewElement = (RadPageViewExplorerBarElement)this.pageViewElement; if (pageViewElement != null && pageViewElement.StackPosition == StackViewPosition.Left) { viewUiElement.StretchHorizontally = false; viewExplorerBarItem.AssociatedContentAreaElement.StretchHorizontally = false; } else { viewUiElement.StretchHorizontally = true; viewExplorerBarItem.AssociatedContentAreaElement.StretchHorizontally = true; } this.pageViewElement.Children.Add((RadElement)viewExplorerBarItem.AssociatedContentAreaElement); viewExplorerBarItem.AssociatedContentAreaElement.Children.Add((RadElement)viewUiElement); if (this.rowView == null) { this.rowView = viewUiElement; } viewUiElement.Initialize(this.GridViewElement, viewInfo); IGridRowLayout rowLayout = ((TableViewDefinition)viewInfo.ViewTemplate.ViewDefinition).CreateRowLayout(); rowLayout.Initialize(viewUiElement); viewUiElement.ViewElement.RowLayout = rowLayout; } return(pageViewItem); }
protected override RadPageViewItem CreatePageViewItem(IRadPageViewProvider pageViewProvider, GridViewInfo viewInfo) { RadPageViewItem item = base.CreatePageViewItem(pageViewProvider, viewInfo); RadPageViewExplorerBarItem explorerBarItem = item as RadPageViewExplorerBarItem; if (explorerBarItem != null) { explorerBarItem.AssociatedContentAreaElement.Children[0].MaxSize = new System.Drawing.Size(0, 152); } return(item); }
public GridDetailViewCellElement(GridViewColumn column, GridRowElement row) : base(column, row) { if (this.ViewTemplate.Templates.Count > 1 || row.ViewTemplate.ShowChildViewCaptions) { IRadPageViewProvider pageViewProvider = this.CreatePageViewProvider(); this.pageViewElement = this.CreatePageViewElement(pageViewProvider); this.UpdateTabsPosition(); this.UpdatePageViewItems(pageViewProvider); } else { this.Children.Add((RadElement)this.CreateChildTableElement()); } }
protected virtual RadPageViewElement CreatePageViewElement( IRadPageViewProvider pageViewProvider) { RadPageViewElement pageViewElement = pageViewProvider.CreatePageViewElement((object)this); pageViewElement.StretchVertically = false; pageViewElement.ContentArea.StretchVertically = false; RadPageViewExplorerBarElement explorerBarElement = pageViewElement as RadPageViewExplorerBarElement; if (explorerBarElement != null) { explorerBarElement.ExpandedChanged += new EventHandler <RadPageViewExpandedChangedEventArgs>(this.explorerBarElement_ExpandedChanged); } pageViewElement.UpdateSelectedItemContent = false; return(pageViewElement); }
protected virtual IRadPageViewProvider CreatePageViewProvider() { IRadPageViewProvider pageViewProvider = this.TableElement.PageViewProvider; if (pageViewProvider == null) { switch (this.TableElement.PageViewMode) { case PageViewMode.Strip: return((IRadPageViewProvider) new RadPageViewStripProvider()); case PageViewMode.Stack: return((IRadPageViewProvider) new RadPageViewStackProvider()); case PageViewMode.Outlook: return((IRadPageViewProvider) new RadPageViewOutlookProvider()); case PageViewMode.ExplorerBar: return((IRadPageViewProvider) new RadPageViewExplorerBarProvider()); } } return(pageViewProvider); }