public void StartEdit(SourceGrid.Position Position) { SourceGrid.CellContext _Context = new SourceGrid.CellContext(grid1, Position, grid1[Position.Row, Position.Column]); _Context.StartEdit( ); }
protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); //verifico che l'eventuale edit sia terminato altrimenti esco if (Selection.ActivePosition.IsEmpty() == false) { CellContext focusCell = new CellContext(this, Selection.ActivePosition); if (focusCell.Cell != null && focusCell.IsEditing()) { if (focusCell.EndEdit(false) == false) return; } } //scateno eventi di MouseDown Position position = PositionAtPoint(new Point(e.X, e.Y)); if (position.IsEmpty() == false) { Cells.ICellVirtual cellMouseDown = GetCell(position); if (cellMouseDown != null) { // AlanP: Nov 2013. Added this if/else clause to set the position to the first column unless the click is on an editable cell if (cellMouseDown.Editor != null && cellMouseDown.Editor.EditableMode == EditableMode.Focus) { // The position is ok CellContext newFocusCell = new CellContext(this, position); newFocusCell.StartEdit(); } else if (position.Row >= this.FixedRows) { // AlanP: Jan 2014. Added this test that we are doing full row selection because on some grids we do column selection if (this.SelectionMode == GridSelectionMode.Row) { // always imagine that the click was on the first column // AlanP: March 2014 - the column is now the first VISIBLE column (in the normal sense, not visible in the display window) // AP screens may or may not display a checkbox column in column 0 int column = this.FixedColumns; while (column < this.Columns.Count - 1 && !((ColumnInfoCollection)this.Columns)[column].Visible) { column++; } position = new Position(position.Row, column); } } ChangeMouseDownCell(position, position); //Cell.OnMouseDown CellContext cellContext = new CellContext(this, position, cellMouseDown); Controller.OnMouseDown(cellContext, e); } } else ChangeMouseDownCell(Position.Empty, Position.Empty); }
public void StartEdit ( SourceGrid.Position Position ) { SourceGrid.CellContext _Context = new SourceGrid.CellContext ( grid1, Position, grid1[ Position.Row, Position.Column ] ); _Context.StartEdit ( ); }