public override bool OnMouseUp(MouseEventArgs e) { GridCellElement mouseDownCell = this.mouseDownCell; this.mouseDownCell = (GridCellElement)null; if (this.cellToResize != null) { int num = (int)this.cellToResize.SetValue(RadElement.IsMouseDownProperty, (object)false); this.cellToResize = (GridCellElement)null; } if (this.columnToResize != null && this.rowLayout != null) { this.rowLayout.EndColumnResize(); if (this.GridViewElement.AutoSizeRows && this.columnToResize.WrapText) { RadElement radElement = this.GridViewElement.ElementTree.GetElementAtPoint(e.Location); while (radElement != null && !(radElement is GridTableElement)) { radElement = radElement.Parent; } } this.RootGridBehavior.UnlockBehavior((IGridBehavior)this); this.mouseIsDown = false; this.GridControl.Capture = false; this.columnResizeStarted = false; this.rowLayout = (IGridRowLayout)null; this.columnToResize = (GridViewColumn)null; this.ResetCursor(); return(false); } if (this.dragDropStarted) { RadService service = (RadService)this.GridViewElement.GetService <RadDragDropService>(); this.dragDropStarted = false; if (service != null && (service.State == RadServiceState.Working || service.State == RadServiceState.Initial)) { return(true); } } else { GridHeaderCellElement cellAtPoint = this.RootGridBehavior.CellAtPoint as GridHeaderCellElement; if (cellAtPoint == null || (e.Location.X < cellAtPoint.ControlBoundingRectangle.X + 3 || this.disableSortOrderChange)) { return(false); } if (this.MasterTemplate.CurrentRow is GridViewNewRowInfo && this.GridViewElement.ContextMenuManager.ContextMenu == null) { this.MasterTemplate.CurrentRow = (GridViewRowInfo)null; } if (e.Button == MouseButtons.Left) { if (cellAtPoint != null && cellAtPoint == mouseDownCell) { RadSortOrder sortOrder; switch (cellAtPoint.SortOrder) { case RadSortOrder.Ascending: sortOrder = RadSortOrder.Descending; break; case RadSortOrder.None: sortOrder = RadSortOrder.Ascending; break; default: GridViewDataColumn columnInfo = cellAtPoint.ColumnInfo as GridViewDataColumn; sortOrder = columnInfo == null || columnInfo.AllowNaturalSort ? RadSortOrder.None : RadSortOrder.Ascending; break; } cellAtPoint.Sort(sortOrder); } return(false); } } return(base.OnMouseUp(e)); }