zoukankan      html  css  js  c++  java
  • GridView合并单元格

    ASP.NET 2.0中合并 GridView 的表头单元格

    在实际工作中,往往需要合并表格头部的单元格,下面就是一个实现的例子。运行结果如图:

    C#

    <%@ Page Language="C#" AutoEventWireup="true" %>

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


    <script runat="server">
      ICollection CreateDataSource()
      
    {
        System.Data.DataTable dt 
    = new
     System.Data.DataTable();
        System.Data.DataRow dr;
        dt.Columns.Add(
    new System.Data.DataColumn("学生姓名"typeof
    (System.String)));
        dt.Columns.Add(
    new System.Data.DataColumn("语文"typeof
    (System.Decimal)));
        dt.Columns.Add(
    new System.Data.DataColumn("数学"typeof
    (System.Decimal)));
        dt.Columns.Add(
    new System.Data.DataColumn("英语"typeof
    (System.Decimal)));
        
    for (int i = 0; i < 8; i++
    )
        
    {
          System.Random rd 
    = new System.Random(Environment.TickCount *
     i); ;
          dr 
    =
     dt.NewRow();
          dr[
    0= "学生" +
     i.ToString();
          dr[
    1= System.Math.Round(rd.NextDouble() * 1002
    );
          dr[
    2= System.Math.Round(rd.NextDouble() * 1002
    );
          dr[
    3= System.Math.Round(rd.NextDouble() * 1002
    );
          dt.Rows.Add(dr);
        }

        System.Data.DataView dv 
    = new System.Data.DataView(dt);
        
    return
     dv;
      }


      protected 
    void Page_Load(object sender, EventArgs e)
      
    {
        
    if (!
    IsPostBack)
        
    {

          GridView1.BorderColor 
    =
     System.Drawing.Color.DarkOrange;
          GridView1.DataSource 
    =
     CreateDataSource();
          GridView1.DataBind();
        }

      }


      protected 
    void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
      
    {
        
    if (e.Row.RowType ==
     DataControlRowType.Header)
        
    {
          GridViewRow rowHeader 
    = new GridViewRow(00
    , DataControlRowType.Header, DataControlRowState.Normal);
          rowHeader.BackColor 
    =
     System.Drawing.Color.White;
          rowHeader.Font.Bold 
    = true
    ;

          TableCellCollection cells 
    =
     e.Row.Cells;
          TableCell headerCell 
    = new
     TableCell();
          headerCell.Text 
    = ""
    ;
          rowHeader.Cells.Add(headerCell);

          headerCell 
    = new
     TableCell();
          headerCell.Text 
    = "学生成绩"
    ;
          headerCell.ColumnSpan 
    = cells.Count - 1
    ;
          headerCell.HorizontalAlign 
    =
     HorizontalAlign.Center;

          rowHeader.Cells.Add(headerCell);
          rowHeader.Visible 
    = true
    ;
          GridView1.Controls[
    0].Controls.AddAt(0
    , rowHeader);
        }

      }


      protected 
    void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
      
    {
        e.Row.Attributes.Add(
    "style""background:#FFF"
    );
      }

    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      
    <title>合并 GridView 的表头单元格</title>
    </head>
    <body>
      
    <form id="Form1" runat="server">
        
    <asp:GridView ID="GridView1" runat="server" CellSpacing="1" CellPadding="3"
          Font-Size
    ="12px" Width="300px" BackColor="orange" BorderWidth="0"
          OnRowDataBound
    ="GridView1_RowDataBound" OnRowCreated="GridView1_RowCreated">
        
    </asp:GridView>
      
    </form>
    </body>
    </html>

    VB.NET

    <%@ Page Language="VB" %>

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

    <script runat="server">
      Function CreateDataSource() As ICollection
        Dim dt As System.Data.DataTable 
    = New System.Data.DataTable
        Dim dr As System.Data.DataRow
        dt.Columns.Add(New System.Data.DataColumn(
    "学生姓名"
    , GetType(System.String)))
        dt.Columns.Add(New System.Data.DataColumn(
    "语文"
    , GetType(System.Decimal)))
        dt.Columns.Add(New System.Data.DataColumn(
    "数学"
    , GetType(System.Decimal)))
        dt.Columns.Add(New System.Data.DataColumn(
    "英语"
    , GetType(System.Decimal)))
        Dim i As Integer 
    = 0

        For i 
    = 0 To 7
          Dim rd As System.Random 
    = New System.Random(Environment.TickCount * i)

          dr 
    =
     dt.NewRow
          dr(
    0= "学生" +
     i.ToString
          dr(
    1= System.Math.Round(rd.NextDouble * 1002
    )
          dr(
    2= System.Math.Round(rd.NextDouble * 1002
    )
          dr(
    3= System.Math.Round(rd.NextDouble * 1002
    )
          dt.Rows.Add(dr)
        Next
        Dim dv As System.Data.DataView 
    =
     New System.Data.DataView(dt)
        Return dv
      End Function

      Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        If Not IsPostBack Then
          GridView1.BorderColor 
    =
     System.Drawing.Color.DarkOrange
          GridView1.DataSource 
    =
     CreateDataSource()
          GridView1.DataBind()
        End If
      End Sub

      Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
        If e.Row.RowType 
    =
     DataControlRowType.Header Then
          Dim rowHeader As GridViewRow 
    = New GridViewRow(00
    , DataControlRowType.Header, DataControlRowState.Normal)
          rowHeader.BackColor 
    =
     System.Drawing.Color.White
          rowHeader.Font.Bold 
    =
     True
          Dim cells As TableCellCollection 
    =
     e.Row.Cells
          Dim headerCell As TableCell 
    =
     New TableCell
          headerCell.Text 
    = ""

          rowHeader.Cells.Add(headerCell)
          headerCell 
    = New TableCell
          headerCell.Text 
    = "学生成绩"

          headerCell.ColumnSpan 
    = cells.Count - 1
          headerCell.HorizontalAlign 
    = HorizontalAlign.Center
          rowHeader.Cells.Add(headerCell)
          rowHeader.Visible 
    =
     True
          GridView1.Controls(
    0).Controls.AddAt(0
    , rowHeader)
        End If
      End Sub

      Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
        e.Row.Attributes.Add(
    "style""background:#FFF"
    )
      End Sub

    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      
    <title>合并 GridView 的表头单元格</title>
    </head>
    <body>
      
    <form id="Form1" runat="server">
        
    <asp:GridView ID="GridView1" runat="server" CellSpacing="1" CellPadding="3"
          Font-Size
    ="12px" Width="300px" BackColor="orange" BorderWidth="0"
          OnRowDataBound
    ="GridView1_RowDataBound" OnRowCreated="GridView1_RowCreated">
        
    </asp:GridView>
      
    </form>
    </body>
    </html>

    http://blog.csdn.net/net_lover/archive/2006/09/27/1291818.aspx
  • 相关阅读:
    gif&png&jpg&webp
    设计点滴&css效果点滴
    backbone点滴
    js自己总结的小东西(打印出来方便学习)
    nodejs点滴
    js类型
    mongo学亮的分享
    npm package.json中的dependencies和devDependencies的区别
    161130、Dubbo+SpringMVC工程创建详解
    161129、详解5种跨域方式及其原理
  • 原文地址:https://www.cnblogs.com/cnwgy/p/718510.html
Copyright © 2011-2022 走看看