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