private void _grid_MouseDown(object sender, MouseEventArgs e) { // Note: this event handler is used for the MouseDown event on all grids UltraGrid grid = (UltraGrid)sender; Infragistics.Win.UIElement elementMain; Infragistics.Win.UIElement elementUnderMouse; elementMain = grid.DisplayLayout.UIElement; elementUnderMouse = elementMain.ElementFromPoint(new Point(e.X, e.Y)); if (elementUnderMouse != null) { Infragistics.Win.UltraWinGrid.UltraGridCell cell = elementUnderMouse.GetContext(typeof(Infragistics.Win.UltraWinGrid.UltraGridCell)) as Infragistics.Win.UltraWinGrid.UltraGridCell; if (cell != null) { m_gridCellClicked = true; grid.Selected.Rows.Clear(); cell.Row.Selected = true; grid.ActiveRow = cell.Row; } else { m_gridCellClicked = false; Infragistics.Win.UltraWinGrid.HeaderUIElement he = elementUnderMouse.GetAncestor(typeof(Infragistics.Win.UltraWinGrid.HeaderUIElement)) as Infragistics.Win.UltraWinGrid.HeaderUIElement; Infragistics.Win.UltraWinGrid.ColScrollbarUIElement ce = elementUnderMouse.GetAncestor(typeof(Infragistics.Win.UltraWinGrid.ColScrollbarUIElement)) as Infragistics.Win.UltraWinGrid.ColScrollbarUIElement; Infragistics.Win.UltraWinGrid.RowScrollbarUIElement re = elementUnderMouse.GetAncestor(typeof(Infragistics.Win.UltraWinGrid.RowScrollbarUIElement)) as Infragistics.Win.UltraWinGrid.RowScrollbarUIElement; if (he == null && ce == null && re == null) { grid.Selected.Rows.Clear(); grid.ActiveRow = null; } } } }
// Make right click select row. // Also, make clicking off of an element clear selected row // unless clicking on header or scroll bars // -------------------------------------------------------- private void _grid_MouseDown(object sender, MouseEventArgs e) { Infragistics.Win.UIElement elementMain; Infragistics.Win.UIElement elementUnderMouse; Infragistics.Win.UltraWinGrid.UltraGrid grid = (Infragistics.Win.UltraWinGrid.UltraGrid)sender; elementMain = grid.DisplayLayout.UIElement; elementUnderMouse = elementMain.ElementFromPoint(new Point(e.X, e.Y)); if (elementUnderMouse != null) { Infragistics.Win.UltraWinGrid.UltraGridCell cell = elementUnderMouse.GetContext(typeof(Infragistics.Win.UltraWinGrid.UltraGridCell)) as Infragistics.Win.UltraWinGrid.UltraGridCell; if (cell != null) { m_gridCellClicked = true; if (!cell.Row.Selected) { if (e.Button == MouseButtons.Right) { grid.Selected.Rows.Clear(); cell.Row.Selected = true; grid.ActiveRow = cell.Row; } } } else { m_gridCellClicked = false; Infragistics.Win.UltraWinGrid.HeaderUIElement he = elementUnderMouse.GetAncestor(typeof(Infragistics.Win.UltraWinGrid.HeaderUIElement)) as Infragistics.Win.UltraWinGrid.HeaderUIElement; Infragistics.Win.UltraWinGrid.ColScrollbarUIElement ce = elementUnderMouse.GetAncestor(typeof(Infragistics.Win.UltraWinGrid.ColScrollbarUIElement)) as Infragistics.Win.UltraWinGrid.ColScrollbarUIElement; Infragistics.Win.UltraWinGrid.RowScrollbarUIElement re = elementUnderMouse.GetAncestor(typeof(Infragistics.Win.UltraWinGrid.RowScrollbarUIElement)) as Infragistics.Win.UltraWinGrid.RowScrollbarUIElement; if (he == null && ce == null && re == null) { grid.Selected.Rows.Clear(); grid.ActiveRow = null; } } } setMenuConfiguration(); }
// Make right click select row. // Also, make clicking off of an element clear selected row // -------------------------------------------------------- private void _grid_MouseDown(object sender, MouseEventArgs e) { Infragistics.Win.UIElement elementMain; Infragistics.Win.UIElement elementUnderMouse; elementMain = this._grid.DisplayLayout.UIElement; elementUnderMouse = elementMain.ElementFromPoint(new Point(e.X, e.Y)); if (elementUnderMouse != null) { Infragistics.Win.UltraWinGrid.UltraGridCell cell = elementUnderMouse.GetContext(typeof(Infragistics.Win.UltraWinGrid.UltraGridCell)) as Infragistics.Win.UltraWinGrid.UltraGridCell; if (cell != null) { m_gridCellClicked = true; Infragistics.Win.UltraWinGrid.SelectedRowsCollection sr = _grid.Selected.Rows; if (sr.Count > 0) { foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in sr) { row.Selected = false; } } cell.Row.Selected = true; _grid.ActiveRow = cell.Row; } else { m_gridCellClicked = false; Infragistics.Win.UltraWinGrid.HeaderUIElement he = elementUnderMouse.GetAncestor(typeof(Infragistics.Win.UltraWinGrid.HeaderUIElement)) as Infragistics.Win.UltraWinGrid.HeaderUIElement; Infragistics.Win.UltraWinGrid.ColScrollbarUIElement ce = elementUnderMouse.GetAncestor(typeof(Infragistics.Win.UltraWinGrid.ColScrollbarUIElement)) as Infragistics.Win.UltraWinGrid.ColScrollbarUIElement; Infragistics.Win.UltraWinGrid.RowScrollbarUIElement re = elementUnderMouse.GetAncestor(typeof(Infragistics.Win.UltraWinGrid.RowScrollbarUIElement)) as Infragistics.Win.UltraWinGrid.RowScrollbarUIElement; if (he == null && ce == null && re == null) { _grid.Selected.Rows.Clear(); _grid.ActiveRow = null; } } } updateContextMenuAndSetMenuConfiguration(); }