创建表头固定,表体可滚动的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…

uboot中变量env(收集)

Env在u-boot中通常有两种存在方式&#xff0c;在永久性存储介质中&#xff08;flash、NVRAM等&#xff09;&#xff0c;在SDRAM中。可配置不适用env的永久存储方式&#xff0c;但不常用。U-boot在启动时会将存储在永久性存储介质中的env重新定位到RAM中&#xff0c;这样可以快速…

转换流

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

此情何时休

此情何时休 ——代腾飞 2008年5月6日 于成都 昨天你说今生要和我相依相守携手到白头 奈何今天你就突然说我们的缘分到了尽头 没有任何理由你就说要分手 你可知我的心里真的好难受 拉着你的手真的不想让你走 只是千言万语不知如何开口 只能轻轻松开你的手放你走 望着你远去的背…

BZOJ 3170: [Tjoi 2013]松鼠聚会 切比雪夫距离

3170: [Tjoi 2013]松鼠聚会 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id3170Description 有N个小松鼠&#xff0c;它们的家用一个点x,y表示&#xff0c;两个点的距离定义为&#xff1a;点(x,y)和它周围的8个点即上下…

序列化流

一、对象的序列化和反系列化 二、对象的序列化流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

throw()使用小结

为什么要加一个throw()到你的函数中&#xff1f;这是异常规范&#xff0c;只会出现在声明函数中&#xff0c;表示这个函数可能抛出任何类型的异常void GetTag() throw(int);表示只抛出int类型异常void GetTag() throw(int&#xff0c;char);表示抛出in&#xff0c;char类型异常…

乘法表

&#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 …

WPF- 关于自定义Calendar控件

由于项目对更改日期 时间的需要&#xff0c;接触了一下Calendar控件。结果发现在这么强大的控件的背后&#xff0c;微软其实并没有为开发人员留有很强的扩展性。 &#xff08;项目要求的Calendar控件能对一些特定的日期进行特殊处理&#xff0c;如高亮&#xff0c;以及类似于Ou…

[文摘]上软解散相关

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

Apache Spark 1.5发布,新特性一览

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

js正则表达exec和match的区别(转)

转自:http://blog.csdn.net/fushou/article/details/6934608 以前用js很少用到js的正则表达式&#xff0c;即使用到了&#xff0c;也是诸如邮件名称之类的判断&#xff0c;网上代码很多&#xff0c;很少有研究&#xff0c;拿来即用。 最近开发遇到一些需要使用正则表达式&#…