private void ScrollColumns(GridTableElement tableElement, Point location) { GridTableHeaderRowElement rowElement = tableElement.GetRowElement((GridViewRowInfo)tableElement.ViewInfo.TableHeaderRow) as GridTableHeaderRowElement; if (rowElement == null) { return; } Rectangle boundingRectangle1 = rowElement.ControlBoundingRectangle; Rectangle boundingRectangle2 = rowElement.ScrollableColumns.ControlBoundingRectangle; int num = 0; if (location.X > boundingRectangle2.Right) { num = location.X - boundingRectangle2.Right; } else if (location.X < boundingRectangle2.X) { num = location.X - boundingRectangle2.X; } RadScrollBarElement hscrollBar = tableElement.HScrollBar; if (tableElement.RightToLeft) { num *= -1; } if (num == 0 || hscrollBar.Visibility != ElementVisibility.Visible) { return; } hscrollBar.Value = this.ClampValue(hscrollBar.Value + num, hscrollBar.Minimum, hscrollBar.Maximum - hscrollBar.LargeChange + 1); }
private void radBtnAdvanceApply_Click(object sender, EventArgs e) { this.gridView.EndEdit(); GridTableElement tableElement = this.gridView.TableElement; MasterGridViewTemplate masterTemplate = this.gridView.MasterTemplate; tableElement.BeginUpdate(); this.gridView.EnableCustomFiltering = false; masterTemplate.DataView.Refresh(); tableElement.EndUpdate(false); foreach (GridViewRowInfo row in this.gridView.Rows) { foreach (GridViewCellInfo cell in row.Cells) { cell.Style.Reset(); } } this.gridView.FilterDescriptors.BeginUpdate(); this.gridView.FilterDescriptors.Clear(); FilterDescriptor descriptor = this.advancedFilterDescriptor.Clone() as FilterDescriptor; this.gridView.FilterDescriptors.Add(descriptor); this.gridView.FilterDescriptors.EndUpdate(); }
public override IRowView CreateViewUIElement(GridViewInfo viewInfo) { GridTableElement gridTableElement = new GridTableElement(); gridTableElement.ViewElement.RowLayout = this.CreateRowLayout(); return((IRowView)gridTableElement); }
private void ScrollRows(GridTableElement tableElement, Point location) { ScrollableRowsContainerElement scrollableRows = tableElement.ViewElement.ScrollableRows; RadScrollBarElement veritcalScrollbar = this.GetVeritcalScrollbar(tableElement); Rectangle boundingRectangle = scrollableRows.ControlBoundingRectangle; if (boundingRectangle.Contains(location) || location.X < boundingRectangle.X || location.X > boundingRectangle.Right) { return; } int num = 0; if (location.Y > boundingRectangle.Bottom) { num = location.Y - boundingRectangle.Bottom; } else if (location.Y < boundingRectangle.Y) { num = location.Y - boundingRectangle.Y; } if (num == 0 || veritcalScrollbar.Visibility != ElementVisibility.Visible) { return; } veritcalScrollbar.Value = this.ClampValue(veritcalScrollbar.Value + num, veritcalScrollbar.Minimum, veritcalScrollbar.Maximum - veritcalScrollbar.LargeChange + 1); }
private Rectangle GetScrollableColumnBounds(GridTableElement tableElement) { PinnedRowsContainerElement topPinnedRows = tableElement.ViewElement.TopPinnedRows; ScrollableRowsContainerElement scrollableRows = tableElement.ViewElement.ScrollableRows; PinnedRowsContainerElement bottomPinnedRows = tableElement.ViewElement.BottomPinnedRows; RadElement radElement = (RadElement)null; if (topPinnedRows.Children.Count > 0) { radElement = (RadElement)topPinnedRows; } else if (scrollableRows.Children.Count > 0) { radElement = (RadElement)scrollableRows; } else if (bottomPinnedRows.Children.Count > 0) { radElement = (RadElement)bottomPinnedRows; } if (radElement == null) { return(Rectangle.Empty); } Rectangle boundingRectangle = (radElement.Children[0] as GridVirtualizedRowElement).ScrollableColumns.ControlBoundingRectangle; if (tableElement.VScrollBar.Visibility != ElementVisibility.Collapsed) { boundingRectangle.Width -= tableElement.VScrollBar.ControlBoundingRectangle.Width; } if (tableElement.HScrollBar.Visibility != ElementVisibility.Collapsed) { boundingRectangle.Height -= tableElement.HScrollBar.ControlBoundingRectangle.Height; } return(boundingRectangle); }
public override IRowView CreateViewUIElement(GridViewInfo viewInfo) { GridTableElement tableElement = (GridTableElement)base.CreateViewUIElement(viewInfo); tableElement.ViewElement.RowLayout = CreateRowLayout(); return(tableElement); }
public RadListFilterPopup(GridViewDataColumn dataColumn, bool groupedDateValues) { this.groupedDateValues = groupedDateValues; this.DataColumn = dataColumn; this.tableElement = this.DataColumn.OwnerTemplate.MasterTemplate.Owner.TableElement; this.InitializeElements(); this.Size = RadListFilterPopup.Popup_Size; }
public RadSimpleListFilterPopup(GridViewDataColumn dataColumn) { this.DataColumn = dataColumn; this.tableElement = this.DataColumn.OwnerTemplate.MasterTemplate.Owner.TableElement; this.InitializeElements(); this.Size = RadSimpleListFilterPopup.Popup_Size; this.PopupOpened += new RadPopupOpenedEventHandler(this.RadSimpleListFilterPopup_PopupOpened); }
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; }
private RadScrollBarElement GetVeritcalScrollbar( GridTableElement tableElement) { if (this.GridViewElement.UseScrollbarsInHierarchy) { return(tableElement.VScrollBar); } return(this.GridViewElement.TableElement.VScrollBar); }
protected GridTableElement GetGridTableElementAtPoint(Point point) { for (RadElement radElement = ((RadControl) this.GridViewElement.ElementTree.Control).ElementTree.GetElementAtPoint(point); radElement != null; radElement = radElement.Parent) { GridTableElement gridTableElement = radElement as GridTableElement; if (gridTableElement != null && gridTableElement.Parent == this.GridViewElement.Panel) return gridTableElement; } return (GridTableElement) null; }
protected virtual GridTableElement CreateChildTableElement() { this.rowView = (GridTableElement)this.HierarchyRow.ActiveView.ViewTemplate.ViewDefinition.CreateViewUIElement(this.HierarchyRow.ActiveView); GridTableElement rowView = this.rowView; rowView.ViewElement.StretchVertically = false; rowView.StretchVertically = false; rowView.StretchHorizontally = true; return(rowView); }
public virtual int GetActualHeight(IGridView gridView) { GridTableElement gridTableElement = gridView as GridTableElement; if (gridTableElement != null) { return((int)gridTableElement.RowScroller.ElementProvider.GetElementSize(this).Height); } return(this.Height); }
private bool ResetFieldValues() { this.tableSize = Size.Empty; this.ResetControlCursor(); this.mouseDownLoction = Point.Empty; if (this.tableToResize == null) return false; this.GridControl.Capture = false; this.tableToResize = (GridTableElement) null; return true; }
public override void InitializeRowView(GridTableElement tableElement) { base.InitializeRowView(tableElement); this.LeftPinnedColumns.ElementProvider = this.TableElement.ColumnScroller.ElementProvider; this.RightPinnedColumns.ElementProvider = this.TableElement.ColumnScroller.ElementProvider; this.ScrollableColumns.ElementProvider = this.TableElement.ColumnScroller.ElementProvider; this.ScrollableColumns.DataProvider = (IEnumerable)this.TableElement.ColumnScroller; this.LeftPinnedColumns.DataProvider = (IEnumerable) new PinnedColumnTraverser(this.TableElement.ViewElement.RowLayout.RenderColumns, PinnedColumnPosition.Left); this.RightPinnedColumns.DataProvider = (IEnumerable) new PinnedColumnTraverser(this.TableElement.ViewElement.RowLayout.RenderColumns, PinnedColumnPosition.Right); this.ElementSpacing = this.TableElement.CellSpacing; }
public virtual void Initialize(GridTableElement tableElement) { this.owner = tableElement; this.viewTemplate = this.owner.ViewTemplate; this.InvalidateRenderColumns(); if (this.Context == GridLayoutContext.Printer) { return; } tableElement.ColumnScroller.Traverser = (ITraverser <GridViewColumn>) new ItemsTraverser <GridViewColumn>(this.ScrollableColumns); }
protected virtual bool ProcessPageDownKey(KeyEventArgs keys) { this.tableElement = (GridTableElement)this.GridViewElement.CurrentView; if (this.scrollDelta == 0) { this.scrollReason = BaseGridBehavior.ScrollReason.PageDown; this.scrollTimer.Start(); } this.scrollDelta += this.tableElement.ViewElement.ScrollableRows.Size.Height + (int)this.tableElement.ViewElement.ScrollableRows.ScrollOffset.Height; return(true); }
protected GridViewRowInfo GetLastScrollableRow(GridTableElement tableElement) { ScrollableRowsContainerElement scrollableRows = tableElement.ViewElement.ScrollableRows; GridTraverser enumerator = (GridTraverser)((IEnumerable)tableElement.RowScroller).GetEnumerator(); int index = 0; while (index < scrollableRows.Children.Count && (scrollableRows.Children[index].BoundingRectangle.Bottom <= scrollableRows.Size.Height && enumerator.MoveNext())) { ++index; } return(enumerator.Current); }
protected GridTableElement GetTableElementAtPoint(Point point) { GridCellElement elementAtPoint = GridVisualElement.GetElementAtPoint <GridCellElement>((RadElementTree)this.GridViewElement.ElementTree, point); GridDetailViewCellElement detailViewCellElement = elementAtPoint as GridDetailViewCellElement; GridTableElement gridTableElement = elementAtPoint?.TableElement; if (detailViewCellElement != null) { gridTableElement = detailViewCellElement.ChildTableElement; } return(gridTableElement ?? this.GridViewElement.TableElement); }
private TableViewRowLayout GetRowLayout( GridViewRowInfo row, PrintFitWidthMode fitWidthMode, int hierarchyIndent, Rectangle drawArea) { int key = row.ViewTemplate.GetHashCode() + row.HierarchyLevel; if (this.rowLayouts.ContainsKey(key)) { return(this.rowLayouts[key]); } GridTableElement viewUiElement = row.ViewTemplate.ViewDefinition.CreateViewUIElement(row.ViewInfo) as GridTableElement; viewUiElement.Initialize(this.GridView.GridViewElement, row.ViewInfo); viewUiElement.RowHeight = this.GridView.TableElement.RowHeight; viewUiElement.TableHeaderHeight = this.GridView.TableElement.TableHeaderHeight; viewUiElement.GroupHeaderHeight = this.GridView.TableElement.GroupHeaderHeight; this.GridView.ElementTree.ApplyThemeToElement((RadObject)viewUiElement); TableViewRowLayout tableViewRowLayout = new TableViewRowLayout(); tableViewRowLayout.Context = GridLayoutContext.Printer; tableViewRowLayout.Initialize(viewUiElement); int num1 = 0; foreach (GridViewColumn renderColumn in (IEnumerable <GridViewColumn>)tableViewRowLayout.RenderColumns) { if (renderColumn is GridViewRowHeaderColumn || renderColumn is GridViewIndentColumn) { num1 += tableViewRowLayout.GetColumnWidth(renderColumn); } } this.GridView.BeginUpdate(); GridViewAutoSizeColumnsMode autoSizeColumnsMode = tableViewRowLayout.ViewTemplate.AutoSizeColumnsMode; if (fitWidthMode == PrintFitWidthMode.FitPageWidth) { ColumnsState state = this.SaveColumnsState(tableViewRowLayout.ViewTemplate); tableViewRowLayout.ViewTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill; int num2 = row.Group != null ? row.Group.Level + 1 : 0; tableViewRowLayout.MeasureRow(new SizeF((float)(drawArea.Width + num1 - (row.HierarchyLevel - num2) * hierarchyIndent), (float)drawArea.Height)); this.RestoreColumnsState(state); } else { tableViewRowLayout.ViewTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.None; tableViewRowLayout.MeasureRow(new SizeF((float)this.GridView.Width, (float)this.GridView.Height)); } tableViewRowLayout.ViewTemplate.AutoSizeColumnsMode = autoSizeColumnsMode; this.GridView.EndUpdate(false); this.rowLayouts.Add(key, tableViewRowLayout); return(tableViewRowLayout); }
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 GridViewRowInfo GetFirstScrollableRow( GridTableElement tableElement, bool checkBounds) { ScrollableRowsContainerElement scrollableRows = tableElement.ViewElement.ScrollableRows; GridTraverser enumerator = (GridTraverser)((IEnumerable)tableElement.RowScroller).GetEnumerator(); if (enumerator.Current == null) { enumerator.MoveNext(); } return(enumerator.Current); }
public override IRowView CreateViewUIElement(GridViewInfo viewInfo) { foreach (GridViewColumn column in (Collection <GridViewDataColumn>)viewInfo.ViewTemplate.Columns) { column.SuspendPropertyNotifications(); column.PinPosition = PinnedColumnPosition.None; column.ResumePropertyNotifications(); } GridTableElement gridTableElement = new GridTableElement(); gridTableElement.ViewElement.RowLayout = this.CreateRowLayout(); return((IRowView)gridTableElement); }
private bool CanResizeTable(Point currentLocation, GridTableElement table) { if (table == null) return false; Rectangle boundingRectangle = table.ControlBoundingRectangle; if (this.GridViewElement.SplitMode == RadGridViewSplitMode.Horizontal) { if (currentLocation.Y >= boundingRectangle.Bottom - 2 && currentLocation.Y <= boundingRectangle.Bottom + 2) return true; } else if (this.GridViewElement.SplitMode == RadGridViewSplitMode.Vertical && currentLocation.X >= boundingRectangle.X && currentLocation.X <= boundingRectangle.X + 2) return true; return false; }
private void radTextBoxSearch_TextChanged(object sender, EventArgs e) { this.gridView.EndEdit(); GridTableElement tableElement = this.gridView.TableElement; MasterGridViewTemplate masterTemplate = this.gridView.MasterTemplate; tableElement.BeginUpdate(); this.gridView.FilterDescriptors.Clear(); this.gridView.EnableCustomFiltering = true; masterTemplate.DataView.Refresh(); tableElement.EndUpdate(false); this.gridView.TableElement.ViewElement.UpdateRows(true); }
private void CorrectScrollbarRangeInHierarchy() { GridTableElement tableElement = ((RowsContainerElement)this.Parent).TableElement; RadGridViewElement gridViewElement = tableElement.GridViewElement; RadScrollBarElement vscrollBar = tableElement.VScrollBar; MasterGridViewTemplate masterTemplate = tableElement.MasterTemplate; if (masterTemplate == null || masterTemplate.Templates.Count == 0 || (gridViewElement.UseScrollbarsInHierarchy || tableElement.ViewInfo.ParentRow != null) || (this.Children.Count == 0 || vscrollBar.Value < vscrollBar.Maximum - vscrollBar.LargeChange + 1)) { return; } GridDetailViewRowElement child1 = this.Children[this.Children.Count - 1] as GridDetailViewRowElement; if (child1 == null || child1.ContentCell.ChildTableElement.ViewInfo == null) { return; } ScrollableRowsContainerElement scrollableRows = child1.ContentCell.ChildTableElement.ViewElement.ScrollableRows; int count = scrollableRows.Children.Count; GridTraverser gridTraverser = new GridTraverser(child1.ContentCell.ChildTableElement.ViewInfo); gridTraverser.TraversalMode = GridTraverser.TraversalModes.ScrollableRows; int num1 = 0; while (gridTraverser.MoveNext()) { ++num1; if (num1 > count) { int height = (int)child1.ContentCell.ChildTableElement.RowElementProvider.GetElementSize(gridTraverser.Current).Height; tableElement.RowScroller.UpdateScrollRange(vscrollBar.Maximum + height, false); return; } } if (scrollableRows.Children.Count <= 0) { return; } GridRowElement child2 = (GridRowElement)scrollableRows.Children[scrollableRows.Children.Count - 1]; if (child2.ControlBoundingRectangle.Bottom <= scrollableRows.ControlBoundingRectangle.Bottom) { return; } int num2 = child2.ControlBoundingRectangle.Bottom - scrollableRows.ControlBoundingRectangle.Bottom; tableElement.RowScroller.UpdateScrollRange(vscrollBar.Maximum + num2, false); }
public override bool OnMouseDown(MouseEventArgs e) { RadElement radElement = this.GridViewElement.ElementTree.GetElementAtPoint(e.Location); GridTableElement currentView = this.GridViewElement.CurrentView as GridTableElement; if (currentView != null) { for (; radElement != null; radElement = radElement.Parent) { if (radElement == currentView.HScrollBar) { this.GridViewElement.EditorManager.CloseEditor(); return(false); } } } return(base.OnMouseDown(e)); }
internal void InitalizeSplitGridSizes() { if (this.splitMode == RadGridViewSplitMode.None) { return; } RectangleF clientRectangle = this.GetClientRectangle((SizeF)this.Size); int height = (int)clientRectangle.Height - this.GroupPanelElement.Size.Height; foreach (RadElement child in this.Panel.Children) { GridTableElement gridTableElement = child as GridTableElement; if (gridTableElement != null) { gridTableElement.ForcedDesiredSize = this.splitMode != RadGridViewSplitMode.Horizontal ? (SizeF) new Size((int)clientRectangle.Width / 2, height) : (SizeF) new Size((int)clientRectangle.Width, height / 2); } } }
public override bool OnMouseDown(MouseEventArgs e) { this.mouseDownLoction = e.Location; if (e.Button == MouseButtons.Left) { GridTableElement tableElementAtPoint = this.GetGridTableElementAtPoint(e.Location); if (this.CanResizeTable(e.Location, tableElementAtPoint)) { this.tableToResize = tableElementAtPoint; this.tableSize = this.tableToResize.Size; this.GridControl.Capture = true; GridTableElement tableElement1 = this.FindTableElement(0, this.GridViewElement.Panel.Children); GridTableElement tableElement2 = this.FindTableElement(this.GridViewElement.Panel.Children.IndexOf((RadElement) tableElement1) + 1, this.GridViewElement.Panel.Children); this.tableToShrink = this.tableToResize != tableElement1 ? tableElement1 : tableElement2; return true; } } return false; }
private void SynchronizeViews() { if (this.TableElement.GridViewElement.SplitMode == RadGridViewSplitMode.None) { return; } foreach (RadElement child in this.TableElement.GridViewElement.Panel.Children) { GridTableElement gridTableElement = child as GridTableElement; if (gridTableElement != null && gridTableElement != this.TableElement) { gridTableElement.ViewElement.UpdateRows(); if (gridTableElement.GridViewElement.AutoSizeRows) { gridTableElement.InvalidateArrange(); } } } }