创建表头固定,表体可滚动的GridView(转)

本方法只需要设置一个GridView的宽度,其它宽度不需要设置。测试环境:IE6,Firefox通过。

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.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)));
    dt.Columns.Add(new System.Data.DataColumn("计算机", typeof(System.Decimal)));

    for (int i = 0; i < 50; i++)
    {
      System.Random rd = new System.Random(Environment.TickCount * i); ;
      dr = dt.NewRow();
      dr[0] = "班级" + i.ToString();
      dr[1] = "【孟子E章】" + i.ToString();
      dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
      dr[3] = System.Math.Round(rd.NextDouble() * 100, 2);
      dr[4] = System.Math.Round(rd.NextDouble() * 100, 2);
      dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
      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.Attributes.Add("style", "table-layout:fixed");
      GridView1.DataSource = CreateDataSource();
      GridView1.DataBind();
    }
  }
 
</script>

<script type="text/javascript">
function s()
{
 var t = document.getElementById("<%=GridView1.ClientID%>");
 var t2 = t.cloneNode(true)
 for(i = t2.rows.length -1;i > 0;i--)
 t2.deleteRow(i) 
 t.deleteRow(0) 
 a.appendChild(t2)
}
window.onload = s
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>创建表头固定,表体可滚动的GridView</title>
</head>
<body>
  <form id="Form1" runat="server">
    <table>
      <tr>
        <td>
          <div id="a">
          </div>
          <div style="overflow-y: scroll; height: 200px">
            <asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF"
              GridLines="Both" CellPadding="4" Width="560">
              <HeaderStyle BackColor="#EDEDED" Height="26px" />
            </asp:GridView>
          </div>
        </td>
      </tr>
    </table>
  </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.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)))
    dt.Columns.Add(New System.Data.DataColumn("计算机", GetType(System.Decimal)))
    Dim i As Integer = 0
    While i < 50
      Dim rd As System.Random = New System.Random(Environment.TickCount * i)

      dr = dt.NewRow
      dr(0) = "班级" + i.ToString
      dr(1) = "【孟子E章】" + i.ToString
      dr(2) = System.Math.Round(rd.NextDouble * 100, 2)
      dr(3) = System.Math.Round(rd.NextDouble * 100, 2)
      dr(4) = System.Math.Round(rd.NextDouble * 100, 2)
      dr(5) = System.Math.Round(rd.NextDouble * 100, 2)
      dt.Rows.Add(dr)
      System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1)
    End While
    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.Attributes.Add("style", "table-layout:fixed")
      GridView1.DataSource = CreateDataSource()
      GridView1.DataBind()
    End If
  End Sub

</script>

<script type="text/javascript">
function s()
{
 var t = document.getElementById("<%=GridView1.ClientID%>");
 var t2 = t.cloneNode(true)
 for(i = t2.rows.length -1;i > 0;i--)
 t2.deleteRow(i) 
 t.deleteRow(0) 
 a.appendChild(t2)
}
window.onload = s
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>创建表头固定,表体可滚动的GridView</title>
</head>
<body>
  <form id="Form1" runat="server">
    <table>
      <tr>
        <td>
          <div id="a">
          </div>
          <div style="overflow-y: scroll; height: 200px">
            <asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF"
              GridLines="Both" CellPadding="4" Width="560">
              <HeaderStyle BackColor="#EDEDED" Height="26px" />
            </asp:GridView>
          </div>
        </td>
      </tr>
    </table>
  </form>
</body>
</html>

转载于:https://www.cnblogs.com/footleg/archive/2008/05/05/1183989.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3G与4G到底有何区别?

对每一个手机用户来说&#xff0c;3G和4G都是手机术语词典中最神秘的词汇&#xff0c;然而在任何卖手机和平板电脑的地方你都能发现它们的身影。当你想买一部手机的时候&#xff0c;通常不清楚该选择哪一种&#xff0c;但有一点要明确——不要随便追求高的数字。这篇文章将帮助…

海尔5D净水洗热水器引领中国制造未来

在过去的一段时间里&#xff0c;智能家居与物联网相继成为热潮&#xff0c;云计算与大数据开始被应用于不同领域的情况下&#xff0c;越来越多的智能家居产品也开始走入普通消费者生活之中……在这些独特的产业创新风起云涌的情况下&#xff0c;越来越多的行业开始推动着中国制…

Lambda表达式——注重过程的编程思想

一、使用匿名内部类的匿名对象创建线程和Lambda表达式写法 Lambda表达式写法不用去定义一个Runable接口的实现类&#xff1b; 二、方法入参是一个接口或者接口的实现类 三、对某个类的一些对象实例进行排序 其中&#xff0c;数组创建时候使用的是静态初始化&#xff0c;里面存放…

[转] STL中map用法详解

一&#xff0e;Map概述 Map是STL的一个关联容器&#xff0c;它提供一对一&#xff08;其中第一个可以称为关键字&#xff0c;每个关键字只能在map中出现一次&#xff0c;第二个可能称为该关键字的值&#xff09;的数据处理能力&#xff0c;由于这个特性&#xff0c;它…

HDU 1874 畅通工程续

畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9566 Accepted Submission(s): 3200 Problem Description某省自从实行了很多年的畅通工程计划后&#xff0c;终于修建了很多路。不过路多了也不好&am…

转换流

一、编码和解码 二、编码带来的问题 三、转换流InputStreamReader和OutputStreamWriter编码和解码的原理 看懂的字符变成看不懂的字节编码 和 把看不懂的字节编码变成看懂的字符&#xff1b; 字节和字符转换的桥梁&#xff0c;不写默认utf-8&#xff08;国际规定&#xff09;&a…

序列化流

一、对象的序列化和反系列化 二、对象的序列化流ObjectOutputStream 标记型接口&#xff1a; 使用序列化流ObjectOutputStream将对象写入到文件中进行序列化&#xff1a; 执行过后的文件&#xff1a; 二进制字节存储&#xff0c;无法直接查看&#xff1b; 三、对象的反序列化流…

Asp.Net中虚拟文件系统的使用

具体实现步骤如下&#xff1a;一、开发web用户控件这一步和以前的开发没有区别。1、首先新建一个web应用程序(需要VS2005 sp1支持)2、然后在里面开发几个web用户控件3、在ascx文件上右键-〉属性-〉生成操作选择嵌入的资源4、生成dll就可以了(dll的名字为&#xff1a;Test.Contr…

打印流

一、打印流输出数据到文件 全路径&#xff0c;没有操作系统没有E盘&#xff0c;异常&#xff1b; 二、打印流修改打印输出路径 会生成一个记录的文件&#xff1a; 可用来记录一些操作日志&#xff1b; 转载于:https://www.cnblogs.com/wmqiang/p/11374696.html

乘法表

&#xfeff;&#xfeff;叙述性说明 法表或许将会扎根于我们一生的记忆,如今让我们重温那些温暖的记忆,请编程输出九九乘法表. 如今要求你输出它的格式与寻常的 不同啊! 是那种反过来的三角形啦&#xff0c;详细例如以下图&#xff1a; 每两个式子之前用一个空格 隔开。。。 输…

DropDownList实现无限级分类

要想实现无限级分类&#xff0c;那得还用传统的老方法----递归&#xff0c;也许有很多人会抱怨递归的性能不是太理想。俗话说的话&#xff0c;能抓到老鼠的猫就是好猫。我提倡先解决问题&#xff0c;然后再优化性能。 数据库结构&#xff1a; 代码&#xff1a; protectedvoidGe…

50张非常精美的Apple主题桌面壁纸(上篇)

今天这篇文章向大家分享50张非常精美的Apple主题桌面壁纸&#xff0c;果粉们赶紧来下载啊。 Blue Apple wallpaper Apple Lawn .wallpaper. by ~VertigoStudio A quite simple Wallpaper, without mutch falderal Green Apple PSP by ~ARVQ Mac Apple Wallpapers With Android …

[文摘]上软解散相关

真实系列文摘 之 上海软星仙剑开发组解散真正内幕-----附.上软人最后留给玩家的话我不是个疯狂的仙剑迷, 但我有朋友是; 我不是个对看不管惯的社会现象能挺身而出的人, 但还是喜欢去在意去关心那些事...下面这个算不上是什么新闻了, 但如过是玩过仙剑系列觉得还不错的人, 对游戏…

Apache Spark 1.5发布,新特性一览

Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架。最初在2009年由加州大学伯克利分校的AMPLab开发&#xff0c;并于2010年成为Apache的开源项目之一。Apache Spark社区刚刚发布了1.5版本&#xff0c;明略数据高级工程师梁堰波解析了该版本中的众多新特性&am…

开源软件

邮件服务器&#xff1a; Postfixftp服务器&#xff1a; vsftpd统计&#xff1a; nginx access log awstats 统计&#xff1a; google统计 google分析 腾讯分析 分布式锁及配置管理&#xff1a;Zookeeper php框架&#xff1a;thinkphp运维监控&#xff1a; cacti数据同步&#…

cad.net 获取所有已经安装的cad版本信息

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\Hardcopy 转载于:https://www.cnblogs.com/JJBox/p/11381254.html

Restangular的使用

2019独角兽企业重金招聘Python工程师标准>>> // First way of creating a Restangular object. Just saying the base URL var baseAccounts Restangular.all(accounts); // This will query /accounts and return a promise. baseAccounts.getList().then(functio…

SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题

SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题 基于物理块变化的复制&#xff0c;没有并行也是很快的。 逻辑复制的日志是按事务结束的时间排序的&#xff0c;而物理复制是与事务无关的&#xff0c;只要发生了改变&#xff0c;就可以立即传送到备库&…

mybatis学习教程中级(十)mybatis和ehcache缓存框架整合(重点)

1、前言 前面讲解了mybatis的一级、二级缓存。一级然并卵&#xff08;spring整合后&#xff09;&#xff0c;二级还是有用的。我们现在来看看用ehcache来维护管理二级缓存。不要问我为什么&#xff0c;因为都这么用&#xff01;&#xff01;&#xff01;java是框架语言&#x…

如何使用三态工作流 - [MOSS 2007应用日记]

MOSS 2007的一个很重要的功能就是提供了工作流&#xff0c;让我们可以结合工作流来实现各种需求&#xff0c;系统提供了几种默认的工作流供大家使用&#xff0c;“三态工作流”就是默认的一种。 现在通过一个模拟实验来看看怎么使用“三态工作流”&#xff1a;在行政部子网站下…