控件設置:
<asp:DataGrid id="dgDoubleHeader" runat="server" Width="672px" Height="208px" AutoGenerateColumns="False"
BorderColor="White" BorderStyle="Ridge" CellSpacing="1" BorderWidth="2px" BackColor="White"
CellPadding="3" GridLines="None" AllowPaging="True" PageSize="5">
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#9471DE"></SelectedItemStyle>
<ItemStyle ForeColor="Black" BackColor="#DEDFDE"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#E7E7FF" BackColor="#4A3C8C"></HeaderStyle>
<FooterStyle ForeColor="Black" BackColor="#C6C3C6"></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="Right" ForeColor="Black" Position="TopAndBottom" BackColor="#C6C3C6"
Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
後臺代碼:
//用來判斷兩個Pager的位置
private bool upPager=true;
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;
//設置該單元格對象跨2列
cellPersonal.ColumnSpan=2;
//設置該單元格對象的對齊方式爲居中
cellPersonal.HorizontalAlign=HorizontalAlign.Center;
//添加單元格內的文本內容
cellPersonal.Controls.Add(new LiteralControl("姓名"));
//定義單元格對象
TableCell cellWork=new TableCell();
//設置單元格對象的背景色
cellWork.BackColor=Color.OrangeRed;
//設置該單元格對象的前景色
cellWork.ForeColor=Color.Black;
//設置該單元格對象跨3列
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();
}
private void DataGridDataBind()
{
//定義數據連接對象,其中數據庫連接字符串是在Web.Config文件中定義的
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["DataBaseCon"].ToString());
conn.Open();
//創建數據適配器對象
SqlDataAdapter da=new SqlDataAdapter("select FirstName,LastName,HomePhone,City,PostalCode from Employees",conn);
//創建DataSet對象
DataSet ds=new DataSet();
try
{
//填充數據集
da.Fill(ds,"testTable");
dgDoubleHeader.DataSource=ds.Tables["testTable"];
dgDoubleHeader.DataBind();
conn.Close();
}
catch(Exception error)
{
Response.Write(error.ToString());
}
}