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(); }
protected virtual void OnPropertyChanging(PropertyChangingEventArgsEx args) { if (this.ViewTemplate != null && this.ViewTemplate.MasterTemplate != null) { MasterGridViewTemplate masterTemplate = this.ViewTemplate.MasterTemplate; if (args.PropertyName == "IsCurrent") { args.Cancel = this.OnIsCurrentPropertyChanging(args); } else if (args.PropertyName == "IsSelected") { if ((bool)args.NewValue && (!this.CanBeSelected || masterTemplate.SelectionMode != GridViewSelectionMode.FullRowSelect)) { args.Cancel = true; } } else if (args.PropertyName == "Height") { args.Cancel = this.OnHeightPropertyChanging(args); } } if (this.PropertyChanging == null) { return; } this.PropertyChanging((object)this, args); }
public static void RaiseCurrentChanged( GridViewTemplate template, GridViewRowInfo row, GridViewColumn column, bool user) { if (template == null) { throw new ArgumentNullException("Template"); } MasterGridViewTemplate masterTemplate = template.MasterTemplate; if (masterTemplate == null) { return; } GridViewEventInfo eventInfo = new GridViewEventInfo(KnownEvents.CurrentChanged, GridEventType.Both, GridEventDispatchMode.Send); object originator = user ? (object)(RadCollectionView <GridViewRowInfo>)null : (object)template.DataView; masterTemplate.SynchronizationService.DispatchEvent(new GridViewEvent((object)template, originator, new object[2] { (object)row, (object)column }, eventInfo)); }
private void cutItem_Click(object sender, EventArgs e) { MasterGridViewTemplate masterTemplate = this.ViewTemplate.MasterTemplate; masterTemplate.BeginRowCopy(); this.ViewTemplate.MasterTemplate.Cut(); masterTemplate.EndRowCopy(); }
public GridViewSelectedCellsCollection(MasterGridViewTemplate masterTemplate) : base(new ObservableCollection <GridViewCellInfo>()) { this.masterTemplate = masterTemplate; this.hashtable = new Hashtable(); this.ObservableItems.CollectionChanged += new NotifyCollectionChangedEventHandler(this.ObservableItems_CollectionChanged); this.selectedRows = new Hashtable(); }
protected override void InitializeFields() { base.InitializeFields(); this.StretchHorizontally = true; this.StretchVertically = true; this.services = new Dictionary <string, RadService>(); this.RegisterService((RadService) new RadGridViewDragDropService(this)); this.template = this.CreateTemplate(); this.template.SynchronizationService.AddListener((IGridViewEventListener)this); this.template.PropertyChanged += new PropertyChangedEventHandler(this.Template_PropertyChanged); }
void EditorControl_ColumnWidthChanged(object sender, ColumnWidthChangedEventArgs e) { try { MasterGridViewTemplate template = (MasterGridViewTemplate)sender; template.Columns["Id"].IsVisible = false; template.Columns["Name"].Width = 80; } catch (Exception ex) { } }
public static bool IsEventSuspended(GridViewTemplate template, KnownEvents eventId) { if (template == null) { throw new ArgumentNullException("Template"); } MasterGridViewTemplate masterTemplate = template.MasterTemplate; if (masterTemplate != null) { return(masterTemplate.SynchronizationService.IsEventSuspended(eventId)); } 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 virtual void InitializeGrid(RadGridView grid, bool SetAnotherTheme = false) { Grid = grid; if (SetAnotherTheme) { Grid.ThemeName = ThemeForGrid.ThemeName; } MGridViewTemplate = Grid.MasterTemplate; SetDataViewControlProperties(); Grid.CellEditorInitialized += EventCellEditorInitialized; // TODO: Раскомментируйте если не нравится цвет выделенной строки и ячейки // Эти две строчки можно добавить в коде наследника класса, а здесь оставить их в виде комментариев // Grid.RowFormatting += new RowFormattingEventHandler(EventRowFormatting); // Grid.CellFormatting += new CellFormattingEventHandler(EventCellFormatting); }
private bool OnIsCurrentPropertyChanging(PropertyChangingEventArgsEx args) { if (GridViewSynchronizationService.IsEventSuspended(this.ViewTemplate, KnownEvents.CurrentChanged)) { return(false); } bool newValue = (bool)args.NewValue; if (newValue && !this.CanBeCurrent) { return(true); } GridViewRowInfo row = newValue ? this : (GridViewRowInfo)null; GridViewColumn column = this.ViewTemplate.CurrentColumn ?? MasterGridViewTemplate.GetColumnAllowingForCurrent(this.ViewTemplate); GridViewSynchronizationService.RaiseCurrentChanged(this.ViewTemplate, row, column, true); return(this.ViewTemplate.MasterTemplate.CurrentRow != row); }
protected virtual void OnPropertyChanged(PropertyChangedEventArgs args) { if (args.PropertyName == "PinPosition") { this.ViewInfo.PinnedRows.UpdateRow(this); } else if (args.PropertyName == "IsSelected") { MasterGridViewTemplate masterTemplate = this.ViewTemplate.MasterTemplate; if (masterTemplate != null && masterTemplate.SelectionMode == GridViewSelectionMode.FullRowSelect) { if (this.IsSelected) { masterTemplate.SelectedRows.BeginUpdate(); if (!masterTemplate.MultiSelect) { masterTemplate.SelectedRows.Clear(); } masterTemplate.SelectedRows.Add(this, true); masterTemplate.SelectedRows.EndUpdate(true); } else { masterTemplate.SelectedRows.Remove(this); } } } else if (args.PropertyName == "Height" || args.PropertyName == "MinHeight" || args.PropertyName == "MaxHeight") { RowHeightChangedEventArgs args1 = new RowHeightChangedEventArgs(this); this.ViewTemplate.MasterTemplate.EventDispatcher.RaiseEvent <RowHeightChangedEventArgs>(EventDispatcher.RowHeightChanged, (object)this, args1); } GridEventDispatchMode dispatchMode = GridEventDispatchMode.Send; this.DispatchEvent(KnownEvents.PropertyChanged, this.GetEventInfo(args as GridPropertyChangedEventArgs, out dispatchMode), dispatchMode, (object)null, new object[1] { (object)args }); if (this.PropertyChanged == null) { return; } this.PropertyChanged((object)this, args); }
private IEnumerable <GridViewRowInfo> GetRowsForPin() { MasterGridViewTemplate masterTemplate = this.MasterTemplate; if (this.MasterTemplate.SelectionMode == GridViewSelectionMode.FullRowSelect) { foreach (GridViewRowInfo selectedRow in (ReadOnlyCollection <GridViewRowInfo>)masterTemplate.SelectedRows) { yield return(selectedRow); } } else { foreach (GridViewCellInfo selectedCell in (ReadOnlyCollection <GridViewCellInfo>)masterTemplate.SelectedCells) { yield return(selectedCell.RowInfo); } } }
public static void DispatchEvent( GridViewTemplate template, GridViewEvent eventData, bool postUI) { if (template == null) { throw new ArgumentNullException("Template"); } MasterGridViewTemplate masterTemplate = template.MasterTemplate; if (masterTemplate == null) { return; } GridViewSynchronizationService synchronizationService = masterTemplate.SynchronizationService; if (synchronizationService == null) { return; } if (eventData.Info.Type == GridEventType.Both && postUI) { KnownEvents id = eventData.Info.Id; bool critical = eventData.Info.Critical; object[] arguments = eventData.Arguments; object sender = eventData.Sender; object originator = eventData.Originator; GridViewEventInfo eventInfo1 = new GridViewEventInfo(id, GridEventType.Data, GridEventDispatchMode.Send, critical); GridViewEvent gridEvent1 = new GridViewEvent(sender, originator, arguments, eventInfo1); GridViewEventInfo eventInfo2 = new GridViewEventInfo(id, GridEventType.UI, GridEventDispatchMode.Post, critical); GridViewEvent gridEvent2 = new GridViewEvent(sender, originator, arguments, eventInfo2); synchronizationService.DispatchEvent(gridEvent1); synchronizationService.DispatchEvent(gridEvent2); } else { synchronizationService.DispatchEvent(eventData); } }