public CellAdressableCell this[int cellNo] { get { if (this.firstCell != this.parent[0, column]) { CellCoordinate myCoord = parent.FindCell(this.firstCell); this.column = myCoord.column; } return(this.parent[cellNo, this.column]); } }
public CellAdressableCell this[int cellNo] { get { if (this.firstCell != this.parent[row, 0]) { CellCoordinate myCoord = parent.FindCell(this.firstCell); this.row = myCoord.row; } return(this.parent[this.row, cellNo]); } }
public CellAdressableCell JoinCell(CellJoinDirection direction) { CellCoordinate myCoord = parentTable.FindCell(this); CellAdressableCell otherCell = null; try { switch (direction) { case CellJoinDirection.DOWN: otherCell = parentTable[myCoord.row + 1, myCoord.column]; if (this.Cell.RowSpan < 2) { this.Cell.RowSpan = 2; } else { this.Cell.RowSpan++; } break; case CellJoinDirection.LEFT: otherCell = parentTable[myCoord.row, myCoord.column - 1]; if (otherCell.Cell.ColSpan < 2) { otherCell.Cell.ColSpan = 2; } else { otherCell.Cell.ColSpan++; } break; case CellJoinDirection.RIGHT: otherCell = parentTable[myCoord.row, myCoord.column + 1]; if (this.Cell.ColSpan < 2) { this.Cell.ColSpan = 2; } else { this.Cell.ColSpan++; } break; case CellJoinDirection.UP: otherCell = parentTable[myCoord.row - 1, myCoord.column]; if (otherCell.Cell.RowSpan < 2) { otherCell.Cell.RowSpan = 2; } else { otherCell.Cell.RowSpan++; } break; } } catch (Exception e) { throw new Exception("Cant Join Cell in that direction.", e); } return(otherCell); }