Exemple #1
0
        private void DataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            MathCell mCell = MathCellsProvider.GetMathCell(dataGridView.CurrentCell);

            AddressBox.Text = mCell.OwnAddress;
            FormulaBox.Text = mCell.Formula;
        }
        public void Shift()
        {
            foreach (DataGridViewRow row in _ownerGrid.dataGridView.Rows)
            {
                foreach (DataGridViewCell cell in row.Cells)
                {
                    MathCell mCell = MathCellsProvider.GetMathCell(cell);
                    _shiftWay.DoShift(_delimiterIndex, mCell, _ownerGrid);
                }
            }

            List <MathCell> usedMathCells = MathCellsProvider.GetInstance.GetUsedCells();

            foreach (MathCell usedCell in usedMathCells)
            {
                usedCell.ShiftReferences();
            }

            OnGridMathCellsProvider.UpdateValuesOnGrid(usedMathCells, _ownerGrid);
        }
Exemple #3
0
        public static void DeleteColumn(GridForm grid)
        {
            if (grid.dataGridView.ColumnCount <= 1)
            {
                return;
            }

            int colIndex = grid.dataGridView.CurrentCell.ColumnIndex;

            bool isDeletionAllowed = true;

            if (IsColumnHasValue(grid, colIndex))
            {
                isDeletionAllowed = IsDeletionAllowed("column");
            }

            if (isDeletionAllowed)
            {
                foreach (DataGridViewRow row in grid.dataGridView.Rows)
                {
                    foreach (DataGridViewCell cell in row.Cells)
                    {
                        if (cell.ColumnIndex == colIndex)
                        {
                            MathCell delCell = MathCellsProvider.GetMathCell(cell);
                            delCell.UpdateDependentsBeforeDelete();
                            MathCellsProvider.GetInstance.RemoveCell(delCell);
                        }
                    }
                }

                grid.dataGridView.Columns.RemoveAt(colIndex);

                MathCellsShifter mathCellsShifter = new MathCellsShifter(new ShiftAfterColumnDeletion(), colIndex, grid);
                mathCellsShifter.Shift();

                HeadersUpdater headersUpdater = new HeadersUpdater(grid, new UpdateColumns());
                headersUpdater.Update();
            }
        }
Exemple #4
0
        public static void DeleteRow(GridForm grid)
        {
            if (grid.dataGridView.RowCount <= 1)
            {
                return;
            }

            int rowIndex = grid.dataGridView.CurrentCell.RowIndex;

            bool isDeletionAllowed = true;

            if (IsRowHasValue(grid, rowIndex))
            {
                isDeletionAllowed = IsDeletionAllowed("row");
            }

            if (isDeletionAllowed)
            {
                DataGridViewRow deletionRow = grid.dataGridView.Rows[rowIndex];

                foreach (DataGridViewCell cell in deletionRow.Cells)
                {
                    MathCell delCell = MathCellsProvider.GetMathCell(cell);
                    delCell.UpdateDependentsBeforeDelete();
                    MathCellsProvider.GetInstance.RemoveCell(delCell);
                }

                grid.dataGridView.Rows.RemoveAt(rowIndex);

                MathCellsShifter mathCellsShifter = new MathCellsShifter(new ShiftAfterRowDeletion(), rowIndex, grid);
                mathCellsShifter.Shift();

                HeadersUpdater headersUpdater = new HeadersUpdater(grid, new UpdateRows());
                headersUpdater.Update();
            }
        }
Exemple #5
0
        private void DataGridView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
        {
            MathCell mCell = MathCellsProvider.GetMathCell(dataGridView.CurrentCell);

            dataGridView.CurrentCell.Value = mCell.Formula;
        }