实现在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);这是一个基本的代码,您可以使用更多的属性并扩展它的应用。