實作在GridView的任意位置插入一行,可實作分隔(如BBS中的置頂與普通的分隔),實作分類,如增加一行統計标題行和統計資料行等等。
下面帶注釋的詳細代碼
// 建立一個GridView的一個分隔行(根據DataControlRowType來設定)
GridViewRow rowSeparator = new GridViewRow( 0 , 0 , DataControlRowType.Separator, DataControlRowState.Normal);
// 或實作一個資料行
// GridViewRow rowSeparator = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Normal);
// 設定行的底色
rowSeparator.BackColor = System.Drawing.Color.White;
// 設定單元格集
// 可以根據實際情況設定,我在這兒是根據RowDataBound事件(e參數)來設定的
TableCellCollection cells = e.Row.Cells;
// 設定單元格,根據實際情況增加,我這兒是增加一個跨所有列的行
TableCell separatorCell = new TableCell();
// 根據GridView的第一列的顯示情況設定單元格和跨列數
if (gvMain.Columns[ 0 ].Visible == true )
{
separatorCell.ColumnSpan = cells.Count;
}
else
{
separatorCell.ColumnSpan = cells.Count - 1 ;
}
// 單元格的對齊
separatorCell.HorizontalAlign = HorizontalAlign.Right;
// 單元格的背景色
separatorCell.BackColor = System.Drawing.Color.FromArgb( 226 , 226 , 226 );
// 單元格的高度
separatorCell.ControlStyle.Height = 5 ;
// 在單元格集中增加單元格控件
rowSeparator.Cells.Add(separatorCell);
// 設定GridView行的可見性
rowSeparator.Visible = true ;
// 在GridView中的相應行插入行
gvMain.Controls[ 0 ].Controls.AddAt(e.Row.RowIndex + 1 , rowSeparator);
這是一個基本的代碼,您可以使用更多的屬性并擴充它的應用。