コード例 #1
0
        private void ColumnAdding_Click(object sender, EventArgs e)
        {
            string name = TheNumberOfCell.ToIndexSystem(table.ColCount);

            dataGridView.Columns.Add(name, name);
            table.AddColumn(dataGridView);
        }
コード例 #2
0
ファイル: Cell.cs プロジェクト: Nattalli/ExcelApplication
 public Cell(int rows, int columns)
 {
     row        = rows;
     column     = columns;
     Name       = TheNumberOfCell.ToIndexSystem(columns) + Convert.ToString(rows);
     value      = "0";
     expression = "";
 }
コード例 #3
0
ファイル: TheTable.cs プロジェクト: Nattalli/ExcelApplication
        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];
                }
            }
        }
コード例 #4
0
 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);
 }
コード例 #5
0
ファイル: TheTable.cs プロジェクト: Nattalli/ExcelApplication
        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);
        }