我有自定义代码来创建网格。但它不是网格视图
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 个单元格。
如果水平合并意味着您正在合并同一行中的单元格,那么这意味着垂直合并将是合并不同行上的单元格。
所以一个简单的方法是:
//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子句也需要调整。