private void ColumnAdding_Click(object sender, EventArgs e) { string name = TheNumberOfCell.ToIndexSystem(table.ColCount); dataGridView.Columns.Add(name, name); table.AddColumn(dataGridView); }
public Cell(int rows, int columns) { row = rows; column = columns; Name = TheNumberOfCell.ToIndexSystem(columns) + Convert.ToString(rows); value = "0"; expression = ""; }
public void Open(int r, int c, System.IO.StreamReader sr, System.Windows.Forms.DataGridView dataGridView) { for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { string index = sr.ReadLine(); string expression = sr.ReadLine(); string value = sr.ReadLine(); if (expression != "") { dictionary[index] = value; } else { dictionary[index] = ""; } int refCount = Convert.ToInt32(sr.ReadLine()); List <Cell> newRef = new List <Cell>(); string refer; for (int k = 0; k < refCount; k++) { refer = sr.ReadLine(); if (TheNumberOfCell.FromIndexSystem(refer).row < RowCount && TheNumberOfCell.FromIndexSystem(refer).column < ColCount) { newRef.Add(border[TheNumberOfCell.FromIndexSystem(refer).row][TheNumberOfCell.FromIndexSystem(refer).column]); } } int pointCount = Convert.ToInt32(sr.ReadLine()); List <Cell> newPoint = new List <Cell>(); string point; for (int k = 0; k < pointCount; k++) { point = sr.ReadLine(); newPoint.Add(border[TheNumberOfCell.FromIndexSystem(point).row][TheNumberOfCell.FromIndexSystem(point).column]); } border[i][j].SetCell(expression, value, newRef, newPoint); int curCol = border[i][j].column; int curRow = border[i][j].row; dataGridView[curCol, curRow].Value = dictionary[index]; } } }
private void InitializeDataGridView(int rows, int columns) { dataGridView.ColumnHeadersVisible = true; dataGridView.RowHeadersVisible = true; dataGridView.ColumnCount = columns; for (int i = 0; i < columns; i++) { string ColumnName = TheNumberOfCell.ToIndexSystem(i); dataGridView.Columns[i].Name = ColumnName; dataGridView.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; } for (int i = 0; i < rows; i++) { dataGridView.Rows.Add(""); dataGridView.Rows[i].HeaderCell.Value = (i).ToString(); } dataGridView.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders); table.SetTable(columns, rows); }
public string ConvertReferences(int row, int column, string expression) { string cellPattern = @"[A-Z]+[0-9]+"; Regex regex = new Regex(cellPattern, RegexOptions.IgnoreCase); TheIndex nums; foreach (Match match in regex.Matches(expression)) { if (dictionary.ContainsKey(match.Value)) { nums = TheNumberOfCell.FromIndexSystem(match.Value); border[row][column].NewReferences.Add(border[nums.row][nums.column]); } } MatchEvaluator evaluator = new MatchEvaluator(referencesToValue); string new_expression = regex.Replace(expression, evaluator); return(new_expression); }