首先看看 CodeProject 上的两个东西

1、The Freeze Pane DataGrid (http://www.codeproject.com/aspnet/FreezePaneDatagrid.asp)

利用文章中提到做法及代码,可以实现在 ASP.NET 1.1 上的、支持横向滚动与纵向滚动的表格,基本上是使用 CSS 实现的,比较简单。

在 ASP.NET 2.0 上,由于文档 HTML DOCKTYPE 发生了变化(HTML->XHTML),所以在使用原文中的横向滚动条会出现问题,但是使用纵向滚动条和锁定表头没有问题。

这种做法没有考虑页面 PostBack 时记录表格的滚动位置,使得用户不得不重新去寻找刚才选中/编辑的那条记录,这比较的不人性化。

2、ScrollingGrid: A cross-browser freeze-header two-way scrolling DataGrid(http://www.codeproject.com/aspnet/ScrollingGrid.asp)

此文章利用 Panel 控件和 DataGrid 控件实现了 ASP.NET 1.1 下的完整的、可实现双向滚动、表头锁定的表格,而且它实现了可以记录表格的滚动位置,页面 PostBack 后,表格仍能自动滚动到原有位置。这个控件的一个最大优点是能够适应多种浏览器,如 Internet Explorer 、FireFox 等。

在 ASP.NET 平台上,由于 DataGrid 控件已经升级为 GridView ,所以此控件已不能使用,按照文章下面的讨论,作者声称会尽快升级控件,但似乎在实现时碰到一些麻烦(如何确实表头各列的宽度),目前还没有结果。

目前我的做法:

  1. 参照文章1中提到的作法,利用 CSS 来实现锁定表头的功能
  2. 利用 Panel 控件,设置 ScrollBar 为 Vertical,再在其中放入 GridView 控件 ,可以实现竖向滚动条的功能
  3. 利用 Atlas ,将上述 Panel 再放入 UpdatePanel ,以透明实现保持滚动条位置的功能

示例代码:


<h1>滚动条表格演示h1> <style type="text/css">... th {...}{ border-right: 1px solid silver; position:relative; top: expression(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.scrollTop-2); /**//*IE5+ only*/ } style> <atlas:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="True"> atlas:ScriptManager> <br /> <asp:Panel ID="GridPanel" runat="server" Height="250px" ScrollBars="Auto" Width="562px"> <atlas:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" SkinID="GridView" Width="434px"> </asp:GridView> </ContentTemplate> </atlas:UpdatePanel> </asp:Panel>

这样能基本上实现一个能够锁定表头、竖向滚动、能够在页面PostBack时保持滚动位置的表格,能够满足大部分应用需要。

本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2006/10/12/527741.html,如需转载请自行联系原作者

在 ASP.NET 上实现锁定表头、支持滚动的表格的做法相关推荐

  1. 一个实用的表格(锁定表头,可调整单元格大小,可排序)

    昨天在网上找到一个不错的表格显示,该表格可以锁定表头,可调整单元格的大小,同时还可以对数据进行排序,显示效果如下: 原代码: <!DOCTYPE HTML PUBLIC "-//W3C ...

  2. ASP.NET上传文件管理控件

    一.引言 v2完成了将数据绑定在dataGrid上的任务,但是dataGrid毕竟是asp.net 1.x的工具,在asp.net 2.0里面,使用是gridveiw.接下来的问题就是将datagri ...

  3. 在Unix/Linux上令(java)JVM支持中文输出

    在Unix/Linux上令(java)JVM支持中文输出 一.在Unix/Linux上令JVM支持中文输出 如 果用户使用的是UNIX的远程服务器,就会遇到中文字体在图像中输出的问题,特别是由于许多管 ...

  4. Asp.Net上传组件

    Asp.Net上传组件 上传功能在Web开发中经常用到,因此花点时间写了个简单的组件.组件支持以下功能: 1.支持文件存储节点分组,同一分组内的节点随机存储(默认),亦可自选择节点进行存储. 2.存储 ...

  5. [项目过程中所遇到的各种问题记录]图表篇——asp.net上不错的图表选择—FunsionCharts...

    [项目过程中所遇到的各种问题记录]图表篇--asp.net上不错的图表选择-FunsionCharts 在上一篇文章中我介绍了winforms下的图表控件--MSChart,虽然MSChart同样为我 ...

  6. 锁定表头和固定列(Fixed table head and columns)

    前段时间需要这个功能,但是找了很多都不能完美的实现,不是只能锁定表头,就是浏览器兼容问题什么的,在此就自己做了一个锁定表头和列的js方法,依赖于JQuery. 因为方法很简单,就未封装成插件的形式,仅 ...

  7. 解除ASP.net上传文件大小的限制

    解除ASP.net上传文件大小的限制 2006-07-15 12:13 今天作了个上传的功能,用的是vs2005的FileUPLoad,在试了几次上传后发现这么个问题,如果上传的文件少于4m的话,一切 ...

  8. 服务器上传excel文件并读取数据,asp.net上传Excel文件并读取数据的实现方法

    前言 本文主要给大家介绍了关于asp.net上传Excel文件并读取数据的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 实现如下: 前台代码:使用服务端控件实现上传 服务端 ...

  9. Asp.Net 上传大文件专题(4)--利用ajax技术显示上传进度

    ====================================================== 注:本文源代码点此下载 ================================= ...

最新文章

  1. 在写游戏时钟类时,应确保时钟的计算是以某个固定的CPU为标准的
  2. 任务感知单目深度估计的3D目标检测
  3. wxWidgets:使用文本模板
  4. 2009年网页设计10大趋势
  5. Ocelot中使用Butterfly实践
  6. 统计通话次数和时间的软件_通话时间统计app下载|通话时间统计安卓版下载 v1.0.3 - 跑跑车安卓网...
  7. python 连续三个数满足条件_计算满足条件的连续值数(Pandas Dataframe)
  8. 微课|中学生可以这样学Python(3.1节):单分支选择结构
  9. 使程序在Windows任务管理器隐藏
  10. about page
  11. 信息安全管理体系ISO27001
  12. 如何查看本机IP地址?
  13. 一个高仿追书神器的vue阅读器。已成功做成app
  14. dnf加点模拟器最新版85级版
  15. WCG2008科隆总决赛 公开票选你想要的游戏
  16. AC_automaton 模板
  17. linux的XDG(X Desktop Group)基本目录规范
  18. Habor 入门指南
  19. SDS新书的来龙去脉 amp;amp; SDS序言 - 倪光南:众筹出书也是一种创新
  20. “公式编辑器”的MT Extra字体无效,将无法显示和打印某些字符将。 请重新安装公式编辑器”,以便正确安装其字体。

热门文章

  1. android studio gradle版本太低问题解决方案
  2. android studio 断点调试
  3. 慕课乐学python单元测试答案_乐学Python_章节测验,期末考试,慕课答案查询公众号...
  4. (002) java后台开发之对象初始化
  5. (iOS-基本知识)Category VS Extension 原理详解
  6. vue函数如何调用其他函数?_从源码中学Vue(一)生命周期中的钩子函数的那点事儿...
  7. uniapp中分包及分包优化
  8. python中time()时间的相关问题
  9. Android activity属性
  10. Nginx配置文件nginx.conf详解(转)