DataGrid双标题 脚本 < 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(); } 0 0 0 (请您对文章做出评价)