internal void DeleteColumn(int column)
{
if ((column >= columns) || (column < 0)) {
throw new Exception("getCell at illegal index : " + column);
}
columns--;
bool[] newReserved = new bool[columns];
Object[] newCells = new Cell[columns];
for (int i = 0; i < column; i++) {
newReserved[i] = reserved[i];
newCells[i] = cells[i];
if (newCells[i] != null && (i + ((Cell) newCells[i]).Colspan > column)) {
((Cell) newCells[i]).Colspan = ((Cell) cells[i]).Colspan - 1;
}
}
for (int i = column; i < columns; i++) {
newReserved[i] = reserved[i + 1];
newCells[i] = cells[i + 1];
}
if (cells[column] != null && ((Cell) cells[column]).Colspan > 1) {
newCells[column] = cells[column];
((Cell) newCells[column]).Colspan = ((Cell) newCells[column]).Colspan - 1;
}
reserved = newReserved;
cells = newCells;
}