`

.NET GridView 多层表头

    博客分类:
  • .NET
阅读更多

.NET GridView 多层表头实现方法

效果如图:

.NET GridView 多层表头 - BEYONDER - BEYONDER

 

后台代码文件

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using BEYOND;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
  BS bs = new BS();
  gvBS.DataSource = bs.DataTableBS;
  gvBS.DataBind();

    }

 protected void gvBS_RowCreated(object sender, GridViewRowEventArgs e)
 {
  if (e.Row.RowType == DataControlRowType.Header)
  {
   #region-----一层表头-----
   GridViewRow rh0 = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
   rh0.BackColor = System.Drawing.Color.FromArgb(51, 153, 255);
   rh0.ForeColor = System.Drawing.Color.FromArgb(255, 255, 255);
   rh0.Font.Bold = true;

   TableCellCollection c0 = e.Row.Cells;

   TableCell hc = new TableCell();
   hc.Text = "BS";
   hc.RowSpan = 2;
   rh0.Cells.Add(hc);
   hc.HorizontalAlign = HorizontalAlign.Center;
   rh0.Cells.Add(hc);

   hc = new TableCell();
   hc.Text = "BEYOND";
   hc.ColumnSpan = 4;
   hc.HorizontalAlign = HorizontalAlign.Center;
   rh0.Cells.Add(hc);

   hc = new TableCell();
   hc.Text = "羽泉";
   hc.ColumnSpan = 2;
   rh0.Cells.Add(hc);
   hc.HorizontalAlign = HorizontalAlign.Center;

   hc = new TableCell();
   hc.Text = "梦想";
   hc.RowSpan = 2;
   rh0.Cells.Add(hc);
   hc.HorizontalAlign = HorizontalAlign.Center;

   rh0.Visible = true;
   gvBS.Controls[0].Controls.AddAt(0, rh0);
   #endregion

   #region-----二层表头-----
   GridViewRow rh1 = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
   rh1.BackColor = System.Drawing.Color.FromArgb(51, 153, 255);
   rh1.ForeColor = System.Drawing.Color.FromArgb(255, 255, 255);
   rh1.Font.Bold = true;

   TableCellCollection c1 = e.Row.Cells;

   TableCell hc1 = new TableCell();
   hc1.Text = "黄家驹";
   hc1.RowSpan = 1;
   rh1.Cells.Add(hc1);
   hc1.HorizontalAlign = HorizontalAlign.Center;
   rh1.Cells.Add(hc1);

   hc1 = new TableCell();
   hc1.Text = "黄贯中";
   hc1.RowSpan = 1;
   hc1.HorizontalAlign = HorizontalAlign.Center;
   rh1.Cells.Add(hc1);

   hc1 = new TableCell();
   hc1.Text = "黄家强";
   hc1.RowSpan = 1;
   hc1.HorizontalAlign = HorizontalAlign.Center;
   rh1.Cells.Add(hc1);

   hc1 = new TableCell();
   hc1.Text = "叶世荣";
   hc1.RowSpan = 1;
   rh1.Cells.Add(hc1);
   hc1.HorizontalAlign = HorizontalAlign.Center;

   hc1 = new TableCell();
   hc1.Text = "陈羽凡";
   hc1.ColumnSpan = 1;
   hc1.HorizontalAlign = HorizontalAlign.Center;
   rh1.Cells.Add(hc1);

   hc1 = new TableCell();
   hc1.Text = "胡海泉";
   hc1.ColumnSpan = 1;
   hc1.HorizontalAlign = HorizontalAlign.Center;
   rh1.Cells.Add(hc1);

   rh1.Visible = true;
   gvBS.Controls[0].Controls.AddAt(1, rh1);
   #endregion
  }
 }

}

  数据表类

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace BEYOND
{
 /// <summary>
 /// DataTableBS の概要の説明です
 /// </summary>
 public class BS
 {
  private DataTable dtBS;

  public DataTable DataTableBS
  {
   get { return dtBS; }
   set { dtBS = value; }
  }

  public BS()
  {
   //
   // TODO: コンストラクタ ロジックをここに追加します
   //

   int len = 8;
   DataRow dr;
   string[] sData;

   dtBS = new DataTable();
   dtBS.Columns.Add("BS");
   dtBS.Columns.Add("BEYOND01");
   dtBS.Columns.Add("BEYOND02");
   dtBS.Columns.Add("BEYOND03");
   dtBS.Columns.Add("BEYOND04");
   dtBS.Columns.Add("YuQuan01");
   dtBS.Columns.Add("YuQuan02");
   dtBS.Columns.Add("Dream");

   sData = new string[len];
   sData[0] = "海贼王";
   sData[1] = "长城";
   sData[2] = "大地";
   sData[3] = "冷雨夜";
   sData[4] = "午夜怨曲";
   sData[5] = "惩罚";
   sData[6] = "种子";
   sData[7] = "和平";

   dr = dtBS.NewRow();
   for (int i = 0; i < len; i++)
   {
    dr[i] = sData[i];
   }

   dtBS.Rows.Add(dr);
  }
 }
}

 

前台源码文件

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>多层表头</title>
</head>
<body style ="text-align :center">
    <form id="form1" runat="server">
    <div>
        <table cellpadding = "0" cellspacing = "0" border= "1">
            <tr>
                <td align = "center">
        <asp:GridView ID="gvBS" runat="server" AutoGenerateColumns="False" OnRowCreated="gvBS_RowCreated" ShowHeader="False">
            <Columns>
                <asp:BoundField DataField="BS" HeaderText="BS" />
                <asp:BoundField DataField="BEYOND01" HeaderText="BEYOND01" />
                <asp:BoundField DataField="BEYOND02" HeaderText="BEYOND02" />
                <asp:BoundField DataField="BEYOND03" HeaderText="BEYOND03" />
                <asp:BoundField DataField="BEYOND04" HeaderText="BEYOND04" />
                <asp:BoundField DataField="YuQuan01" HeaderText="YuQuan01" />
                <asp:BoundField DataField="YuQuan02" HeaderText="YuQuan02" />
                <asp:BoundField DataField="Dream" HeaderText="Dream" />
            </Columns>
        </asp:GridView>
                </td>
            </tr>
        </table>
   
    </div>
    </form>
</body>
</html>
 

 

分享到:
评论

相关推荐

    ASP.NET—014:Gridview复合表头

    文章: http://blog.csdn.net/yysyangyangyangshan/article/details/38807287 asp.net gridview 复杂 复合 表头

    asp.net中GridView控件的各种操作方法,使用大全,附加数据库

    asp.net中GridView控件的各种操作方法,使用大全,附加数据库。包含:GridView导入导出,多层嵌套,表头表尾,分页排序,结合控件,设置属性,增除删改,主键索引...物超所值,亲情放送!~

    ASP.net中Gridview实例大全

    ASP.net中Gridview使用实例大全 表头表尾 导入导出 多层嵌套 分页排序 结合控件 设置属性 增除删改 主键索引

    Gridview控件用法Demo示例源码

    c)Gridview多层嵌套的应用; d)Gridview分页排序功能的实现; e)Gridview结合其他控件的使用; f)Gridview绑定数据后设置属性; g)在VS中实现Gridview无代码增除删改功能; h)Gridview增除删改功能; i)Girdview主键...

    GridView用法总结大全

    12:在Gridview中实现多层嵌套 13:在Gridview中实现排序 14:在Gridview中实现分页 15:Gridivew结合CheckBox控件的使用 16:Gridview结合DropDownList控件的使用 17:Gridview结合RadioButtom的使用 ...

    Gridview控件用法Demo

    功能模块简介 a)Gridview表头表尾;...c)Gridview多层嵌套的应用; d)Gridview分页排序功能的实现; e)Gridview结合其他控件的使用; f)Gridview绑定数据后设置属性; g)在VS中实现Gridview无代码增除删改功能;

    asp.net知识库

    .NET 2.0里使用强类型数据创建多层应用 在MastPage中引用脚本资源 2.0正式版中callback的一些变化+使用示例(ASP.NET 2.0) asp.net 2.0 新特性 Visual Web Development 2005开发ASP.NET使用小技巧 ASP.NET 2.0 ...

    GridView经典用法

    asp.net中GridView经典用法,包括:表头表尾,导入导出,多层嵌套,分页排序,结合控件,设置属性,增除删改,主键索引等非常经典,值得学习

    BNGridView

    继承于GridView 下的自定义控件,主要加强了以下功能: 1、查询(复杂查询与简单查询... 4、自定义多层表头。 5、支持多条件的合计、汇总。 6、支持行、列固定。 7、支持数据的树状显示。 8、列表数据到导出到Excel文档

Global site tag (gtag.js) - Google Analytics