Exemple #1
0
        public void SetCellInfos()
        {
            for (var i = 0; i < ColumnCount; i++)
            {
                for (var j = 0; j < RowCount; j++)
                {
                    var cellInfo = new CellInfo
                    {
                        RowIndex = j,

                        ColumnIndex = i
                    };

                    var cellVal = Rows[j].Cells[i].Value?.ToString();

                    // Compares value from bottom to top.
                    for (var k = j; k >= 0; k--)
                    {
                        var tempVal = Rows[k].Cells[i].Value?.ToString();

                        if (tempVal != cellVal)
                        {
                            break;
                        }

                        cellInfo.UpRowNum++;
                    }

                    // Compares value from top to bottom.
                    for (var k = j; k < RowCount; k++)
                    {
                        var tempVal = Rows[k].Cells[i].Value?.ToString();

                        if (tempVal != cellVal)
                        {
                            break;
                        }

                        cellInfo.DownRowNum++;
                    }

                    CellInfos.Add(cellInfo);
                }
            }
        }
Exemple #2
0
 public int GetDownRowNum(int rowIndex, int columnIndex)
 {
     return(CellInfos.Where(w => w.RowIndex == rowIndex && w.ColumnIndex <= columnIndex).Select(s => s.DownRowNum).Min());
 }