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();
        }
posted @ 2006-05-29 16:40  Tim工作室  阅读(486)  评论(0编辑  收藏  举报