`

.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复合表头

    "ASP.NET—014:Gridview复合表头"这个主题正是关于如何在GridView中实现这种高级布局的教程。 在ASP.NET中,GridView默认提供了一种简单的行和列结构,但为了满足更复杂的需求,例如多级表头或合并单元格,我们...

    GridView实现多表头合并

    数据源应包含多层分类的信息,以便在表头中正确显示。 2. **定义GridView**:在ASP.NET页面上添加GridView控件,并为其设置ID。为了实现多级表头,你可能需要禁用自动生成列(AutoGenerateColumns="false"),并...

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

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

    GridView自定义表头

    在ASP.NET开发中,GridView控件是常用的数据展示组件,但默认情况下,其表头功能较为基础,无法满足复杂的表格布局需求。为了解决这一问题,开发者通常需要进行自定义表头的实现,以便创建更灵活、层次更丰富的表格...

    ASP.net中Gridview实例大全

    GridView控件提供了丰富的功能,包括但不限于表头表尾的自定义、数据的导入导出、多层嵌套、分页排序、与各种控件的结合使用、设置多种属性以及支持数据的增删改查操作。以下是对这些知识点的详细说明: 1. **表头...

    基于C#+VS2008实现的多层列表头GridView控件扩展程序例子

    本示例主要介绍如何在C#编程环境中,利用Visual Studio 2008(VS2008)来扩展GridView控件,实现多层列表头的功能。多层列表头在数据展示时能提供更丰富的信息结构,有助于用户理解复杂的数据关系。 首先,多层列表...

    Gridview控件用法Demo示例源码

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

    Aspx GridView使用大全

    ASPX GridView 是 ASP.NET Web Forms 中的一个强大控件,它用于显示数据集合,并提供多种交互功能,如排序、分页、筛选、编辑、删除等。本资源提供了关于 GridView 使用的全面指南,涵盖了从基础到高级的各种场景。 ...

    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无代码增除删改功能;

    GridView用法大全

    10. **多层嵌套**:在复杂应用中,GridView可以嵌套在另一个GridView或其他控件内部,实现多层次的数据展示。 11. **App_Data目录**:通常用来存放数据库文件或XML数据文件,这些文件可以直接作为数据源绑定到...

    gridview各种用法的demo

    `多层嵌套`可能涉及到在GridView内部嵌套另一个GridView,实现复杂的数据展示,比如分组数据或者展示子数据集。 综上所述,这个压缩包提供了一个全面的GridView功能演示,包括数据导入导出、表头合并、行的编辑和...

    C#中gridview使用实例

    在C#编程环境中,GridView控件是ASP.NET Web Forms中常用的数据展示工具,它能够以表格形式展示数据,并提供多种交互功能。以下是对`C#中gridview使用实例`涉及的知识点的详细说明: 1. **基本使用**: GridView...

    Gridview用法大总结

    GridView是ASP.NET Web Forms中非常重要的一个数据呈现控件,它允许开发者以表格形式展示数据,提供了丰富的功能和自定义选项。在这个“Gridview用法大总结”中,我们将深入探讨以下几个关键知识点: 1. **基础用法...

    GridView经典用法

    在ASP.NET开发中,GridView控件是一个非常常用的数据展示组件,尤其适合于表格形式的数据操作。这个经典用法涵盖了多个方面,包括数据呈现、交互功能、定制化以及数据管理。以下将详细介绍这些知识点: 1. **表头...

    GridView详述

    合并多个表头以形成复杂的表头结构,适用于需要展示多层关系或分组数据的情况。 **实现细节:** - 使用`&lt;asp:TemplateField&gt;`和`&lt;asp:Literal&gt;`控件来构建复杂的表头。 - 示例代码: ```html 表头1"&gt; 表头1.1 ...

    Gridview.rar

    GridView是ASP.NET中一个强大的数据展示控件,用于在网页上显示来自数据库或其他数据源的数据。这个"Gridview.rar"压缩包包含了一系列关于GridView的示例,帮助开发者深入理解和掌握其各种功能。以下是对这些知识点...

Global site tag (gtag.js) - Google Analytics