public void InitializeDataGridView(int columns, int rows) { dataGridView1.Width = 1880; dataGridView1.Height = 850; dataGridView1.ColumnHeadersVisible = true; dataGridView1.RowHeadersVisible = true; dataGridView1.ColumnCount = columns; for (int i = 0; i < columns; i++) { string columnName = Converter26Sys.To26Sys(i); dataGridView1.Columns[i].Name = columnName; dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; } for (int i = 0; i < rows; i++) { dataGridView1.Rows.Add(""); dataGridView1.Rows[i].HeaderCell.Value = i.ToString(); } dataGridView1.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders); dataGridView1.AllowUserToAddRows = false; Grid.setGrid(columns, rows); }
} = new List <Cell>(); // cells that are in expr public Cell(int col, int row) { this.Row = row; this.Column = col; this.Sys26Name = Converter26Sys.To26Sys(col) + row.ToString(); this.Value = "0"; this.Expression = ""; }
private void buttonAddColumn_Click(object sender, EventArgs e) { DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn(); int i = dataGridView1.Columns.Add(column); dataGridView1.Columns[i].HeaderCell.Value = Converter26Sys.To26Sys(i); Grid.AddColumn(); }
public void SetPointersAndReferences(string expression) { Regex regex = new Regex("[A-Z]+[0-9]"); MatchCollection collection = regex.Matches(this.Expression); List <Cell> temp = new List <Cell>(); foreach (Cell cell in this.ReferencesFromThis) { if (cell.PointersToThis.Contains(this)) { cell.PointersToThis.Remove(this); } } this.ReferencesFromThis.Clear(); foreach (Match match in collection) { if (Grid.dictionary.ContainsKey(match.Value)) { Index i = Converter26Sys.From26Sys(match.Value); this.ReferencesFromThis.Add(Grid.table[i.column][i.row]); Grid.table[i.column][i.row].PointersToThis.Add(this); temp.Add(Grid.table[i.column][i.row]); } else { this.ReferencesFromThis.Clear(); foreach (Cell cell in temp) { if (cell.PointersToThis.Contains(this)) { cell.PointersToThis.Remove(this); } } throw new NonExistentCellException(); } } }
public void Open(DataGridView dataGridView) { using (StreamReader sr = new StreamReader(_fileName)) { int gridColumnsCount = int.Parse(sr.ReadLine()); int gridRowsCount = int.Parse(sr.ReadLine()); Grid.setGrid(gridColumnsCount, gridRowsCount); dataGridView.ColumnCount = gridColumnsCount; for (int i = 0; i < gridColumnsCount; i++) { string columnName = Converter26Sys.To26Sys(i); dataGridView.Columns[i].Name = columnName; dataGridView.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; } for (int i = 0; i < gridRowsCount; i++) { dataGridView.Rows.Add(""); dataGridView.Rows[i].HeaderCell.Value = i.ToString(); } for (int i = 0; i < gridColumnsCount; ++i) { for (int j = 0; j < gridRowsCount; ++j) { string sys26Name = sr.ReadLine(); string expression = sr.ReadLine(); string value = sr.ReadLine(); int pointersCount = int.Parse(sr.ReadLine()); List <Cell> pointers = new List <Cell>(); for (int k = 0; k < pointersCount; ++k) { string pointer = sr.ReadLine(); Index indexOfPointer = Converter26Sys.From26Sys(pointer); pointers.Add(Grid.table[indexOfPointer.column][indexOfPointer.row]); } int referencesCount = int.Parse(sr.ReadLine()); List <Cell> references = new List <Cell>(); for (int k = 0; k < referencesCount; ++k) { string reference = sr.ReadLine(); Index indexOfReference = Converter26Sys.From26Sys(reference); references.Add(Grid.table[indexOfReference.column][indexOfReference.row]); } Cell cell = new Cell(i, j, expression, value, sys26Name, pointers, references); Grid.table[i][j] = cell; Grid.dictionary[cell.Sys26Name] = cell.Value; if (cell.Value == "0" && cell.Expression == "") { dataGridView[i, j].Value = ""; } else { dataGridView[i, j].Value = cell.Value; } } } } }