脚本
<
asp:DataGrid
id
="dgDoubleHeader"
runat
="server"
AllowPaging
="True"
AutoGenerateColumns
="False"
Width
="100%"
PageSize
="5"
BorderColor
="#336666"
BorderStyle
="Double"
BorderWidth
="3px"
BackColor
="White"
CellPadding
="4"
GridLines
="Horizontal"
>
<
SelectedItemStyle
Font-Bold
="True"
ForeColor
="White"
BackColor
="#339966"
></
SelectedItemStyle
>
<
ItemStyle
ForeColor
="#333333"
BackColor
="White"
></
ItemStyle
>
<
HeaderStyle
Font-Bold
="True"
ForeColor
="White"
BackColor
="#336666"
></
HeaderStyle
>
<
FooterStyle
ForeColor
="#333333"
BackColor
="White"
></
FooterStyle
>
<
Columns
>
<
asp:BoundColumn
DataField
="FirstName"
HeaderText
="FirstName"
></
asp:BoundColumn
>
<
asp:BoundColumn
DataField
="LastName"
HeaderText
="LastName"
></
asp:BoundColumn
>
<
asp:BoundColumn
DataField
="HomePhone"
HeaderText
="HomePhone"
></
asp:BoundColumn
>
<
asp:BoundColumn
DataField
="City"
HeaderText
="City"
></
asp:BoundColumn
>
<
asp:BoundColumn
DataField
="PostalCode"
HeaderText
="PostalCode"
></
asp:BoundColumn
>
</
Columns
>
<
PagerStyle
HorizontalAlign
="Center"
ForeColor
="White"
Position
="TopAndBottom"
BackColor
="#336666"
Mode
="NumericPages"
></
PagerStyle
>
</
asp:DataGrid
>
代码
protected
System.Web.UI.WebControls.DataGrid dgDoubleHeader;
//
用来判断两个(上下)Pager的位置
private
bool
upPager
=
true
;
private
void
DataGridDataBind()

{
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//创建数据适配器对象
SqlDataAdapter da = new SqlDataAdapter("SELECT LastName,FirstName, HomePhone, City, PostalCode FROM Employees",conn);
//创建DataSet对象
DataSet ds = new DataSet();
try

{
//填充数据集
da.Fill(ds,"testTable");
//进行数据绑定
dgDoubleHeader.DataSource = ds.Tables["testTable"];
dgDoubleHeader.DataBind();
}
catch(SqlException error)

{
//输出异常信息
Response.Write(error.ToString());
}
}
private
void
Page_Load(
object
sender, System.EventArgs e)

{
//页面初试化时进行数据绑定
if(!IsPostBack)
DataGridDataBind();
}
private
void
dgDoubleHeader_ItemCreated(
object
sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

{
//获取DataGrid控件中项的类型
ListItemType ItemType = e.Item.ItemType;
//判断是否是页导航项
if (ItemType == ListItemType.Pager)

{
//判断是否是第一个页导航项
if (upPager)

{
//根据DataGrid控件的项定义单元格对象
TableCell cellPersonal = (TableCell) e.Item.Controls[0];
//移出该单元格内的所有控件
cellPersonal.Controls.Clear();
//设置单元格对象的背景色
cellPersonal.BackColor = Color.Orange;
//设置单元格对象的前景色
cellPersonal.ForeColor = Color.Black;
//设置该单元格对象跨3列
cellPersonal.ColumnSpan = 2;
//设置该单元格对象的对齐方式为居中
cellPersonal.HorizontalAlign = HorizontalAlign.Center;
//添加单元格内的文本内容
cellPersonal.Controls.Add(new LiteralControl("姓名"));
//定义单元格对象
TableCell cellWork = new TableCell();
//设置单元格对象的背景色
cellWork.BackColor = Color.OrangeRed;
//设置单元格对象的前景色
cellWork.ForeColor = Color.Black;
//设置该单元格对象跨2列
cellWork.ColumnSpan = 3;
//设置该单元格对象的对齐方式为居中
cellWork.HorizontalAlign = HorizontalAlign.Center;
//添加单元格内的文本内容
cellWork.Controls.Add(new LiteralControl("联系方式"));
//在该项的控件集合中添加单元格对象
e.Item.Controls.Add(cellWork);
//改变Pager标志
upPager = false;
}
}

}
private
void
dgDoubleHeader_PageIndexChanged(
object
source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)

{
//改变Pager标志的值使其可以在每次触发分页事件时都设置标题头
upPager = true;
//设置新的页面索引值
dgDoubleHeader.CurrentPageIndex = e.NewPageIndex;
//重新进行数据绑定
DataGridDataBind();
}
转载于:https://www.cnblogs.com/timsoft/articles/412171.html