0
我希望我的網格視圖看起來像這樣。
如何可以創建可以被看作是在上面的PIC的網格視圖/表。 我曾經使用簡單的網格視圖,將它們綁定到數據源,但這不僅僅是這些。
我希望我的網格視圖看起來像這樣。
如何可以創建可以被看作是在上面的PIC的網格視圖/表。 我曾經使用簡單的網格視圖,將它們綁定到數據源,但這不僅僅是這些。
您可以編程方式在GridView中使用RowSpan和ColSpan。您將不得不使用GridView的OnRowDataBound
事件。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//chech if the row is the header
if (e.Row.RowType == DataControlRowType.Header)
{
//span 3 columns, starting with the first one (0)
e.Row.Cells[0].ColumnSpan = 3;
//remove the other 2 column cells
e.Row.Cells.RemoveAt(2);
e.Row.Cells.RemoveAt(1);
}
//check if the row is a datarow
else if (e.Row.RowType == DataControlRowType.DataRow)
{
//the last rownumber of the rows to be spanned, can only count backwards because next row does not exist yet.
if (e.Row.RowIndex == 8)
{
//amount of rows to be spanned
int rowSpanCount = 4;
//find the first cell counting backwards (8 - rowSpanCount)
GridViewRow firstRow = GridView1.Rows[e.Row.RowIndex - rowSpanCount];
firstRow.Cells[1].RowSpan = rowSpanCount;
//hide the other cells that are part of the rowspan
for (int i = 1; i < rowSpanCount; i++)
{
GridViewRow nextRow = GridView1.Rows[e.Row.RowIndex - i];
nextRow.Cells[1].Visible = false;
}
}
}
}
在我的片段中,HeaderRow將跨越所有3列和單元格4,第1列將跨越4行。