如何锁定表头,表格中锁定表头
锁定发布头的想法。垂直滚动时,页眉不动;水平滚动时,页眉可以同步滚动。
这里只介绍我的想法,因为我觉得想法比代码重要得多。当然,我的想法实现了。
两个网页:一个是放桌子的;一个是放置页眉。
表的网页中的东西:
1.数据网格(以它为例)
第二区
3.一个3.iframe
4.几个4.js脚本
放置页眉的网页中有什么:
1.一个分区。这些是主要成分,其他的像css样式表等等。这些都比较个性化,可以自己添加。
以下是主要步骤:
1.在数据网格外部设置div——DGdiv,目的是向数据网格添加滚动条。详细练习,网上已经有N多个代码了,随便找一个。
去做吧。
2.将iframe放在另一个DIV中,——frmDIV,将div设置为可以移动的,也就是用“坐标”定位的那个;iframe的src被放置。
放置页眉的网页。高度应该调整为与DataGrid的标题一致,宽度也应该如此。
3.写js脚本,有点复杂,要分几个步骤:
A.读取DataGrid的内容,也就是DGdiv.innerHTML,然后放入iframe中网页的div中。
这时候就可以运行了,初步效果已经出来了。DataGrid有滚动条,出现两个标题,一个是DataGrid的,另一个是iframe的。
是的,垂直滚动的时候,DataGrid的头没了,iframe的头还是一样的。
B.编写一个脚本来移动div,并将frmDIV移动到DGdiv的顶部。目的是让iframe的表头覆盖DataGrid的表头。
C.再写一个脚本来滚动iframe,在DGdiv滚动的事件中会触发,这样页眉在水平滚动的时候也可以同步滚动。
结论:网上可以找到各部分的代码,有些是很常见的方法。不知道别人有没有想到这个组合。)
其他要点:
1.为什么要将整个DataGrid放在iframe内部的div中?
目的是确保标题的宽度与数据网格的宽度相同。如果列宽是固定的,您可以将标题行放在iframe内部的div中。
2.为什么要用iframe?
一开始想用div的滚动条,但是div的滚动条不能隐藏,在DataGrid上面可能覆盖不了。
所以我用iframe,它的滚动条可以隐藏,绝对放在div上面。
3.为什么iframe外面还有一个div?
因为没有成功用js移动iframe,所以要再设置一个div。