ASP.Net下为GridView创建固定表头

为了解决数据量大时GridView滚动导致表头不可见的问题,本文介绍了一种使用两个div实现固定表头的方法。通过复制GridView的表头到divTitle并隐藏GridView的表头,同时处理滚动事件保持同步滚动。在实现过程中遇到了如JavaScript无法找到GridView、高度获取错误、宽度自适应等问题,并逐一给出了解决方案。适用环境包括.NET Framework 4.0和多种浏览器。
摘要由CSDN通过智能技术生成

1.问题描述:

由于gridview里面的数据过多,有可能有上万条,客户又不希望太多的分页,那样查找不方便,更不希望原本内嵌在panel里的gridview下拉到底部时,看不到原先的表头。因此要么把表头固定,不随着scrollbar下拉而滚动到看不到的地方;要么将表头悬浮在页面上。


2.方案选择:

悬浮表头是可以实现的,但如果页面太窄,而gridview的header过长而无法充分显示的时候,悬浮的表头是无法水平滚动的。因此第二方案排除。

关于第一方案,基本思路是用两个div:divTitle,divData。divTitle负责显示固定的header,divData包含gridview,在载入页面时,用创建table的方式把gridview的header按照其格式复制到divTitle中,同时gridview不显示header。用onscroll方法使scrollbar联动的方式,同步水平滚动两个div。

参考:http://www.codeproject.com/Articles/61775/Grid-View-with-Fixed-Header

网上还有许多另外的实现,如clone整个gridview到divTitle中,然后删除所有的row,只保留表头。但这样太简单粗暴,不适合大量的数据。


3.问题解决:

1)在js执行时,无法找到gridview。

需要设置ShowHeaderWhenEmpty=true,该属性默认为false。

2)onscroll="

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值