自定义代码垂直合并单元格

时间:2015-04-27 08:59:15

标签: c#

我有自定义代码来创建Grid.But它不是GridView

Grid dt=new Grid();
var row = dt.NewRow();
 int cellIdx = 0;
 row.Cells[0].Text = "Hello";
 dt.Rows.Add(row);
    row.Cells[1].Text=" ";
    dt.Rows.Add(row);
    if (row.Cells[1].Text == " ")
    {
        row.Cells.Remove(row.Cells[1]);  
    }

使用此代码,我可以将两个单元格合并为水平。但是我如何才能垂直合并2个单元格。

1 个答案:

答案 0 :(得分:0)

如果水平合并意味着你在同一行合并Cell,那么这意味着垂直合并将合并不同行上的单元格。

所以一个简单的方法是:

//check if one more row exists
if(dt.Rows.Count >= rowIndex+1)
{
    //get text of cell to be merged
    string mergeText = dt.Rows[rowIndex + 1].Cells[cellIndex].Text;
    //add Text to cell above
    dt.Rows[rowIndex].Cells[cellIndex].Text += Sring.Format("; {0}", mergeText);
    //delete text
    dt.Rows[rowIndex + 1].Cells.Remove(dt.Rows[rowIndex + 1].Cells[cellIndex]);
}

显然,如果你想在另一个方向合并,你需要用+替换-,并且if子句也需要调整。