我正在尝试在GridView的现有子类SGridView中实现固定标头功能。
我的问题是,使用下面列出的解决方案,滚动条显示在标题行下方,看起来很俗气。我希望滚动条垂直穿过页眉到页脚。唯一的问题是,这意味着头部将覆盖前几行,因为滚动条高度不考虑包含标题行(我假设这是绝对定位的副作用)。有关如何纠正的任何想法?
我的解决方案包括以下内容:
<div class="IEScrollDiv">
<table class="GridView">
<thead>
<tr> <th clas="GVHeader"> my header row</th> </tr>
</thead>
<tbody>
...
</tbody>
</table>
</table>
或多或少,在Render()方法中添加了额外的代码,以将表包装在可以滚动的div中。没什么太花哨的。然后我将表配置为render,和标签以便于访问。
由于在IE中添加滚动到tbody未定义,我无法利用它来创建固定标头(跛脚)。另外,表达式css规则已经从IE8中弃用了,所以我也不能使用这种方法(很多教程在线使用它)。
所以,我添加了javascript来绝对定位标题行,通过它的类GVHeader。
由于
答案 0 :(得分:0)
对于那些可能最终想要实现类似内容的人,我想我会发布我的解决方案。
我无法得到我想要的确切外观(滚动条贯穿标题,而是旁边)。
我只是让gridview渲染一个空的div,上面有一个类,它使x像素高,以包含标题的间隙空间。然后只是将标题重新定位在该div的顶部。现在滚动条包含标题行作为高度的一部分。
所以标记最后看起来像这样
<div class="IEScrollDiv">
<div class="EmptyDiv"></div>
<table class="GridView">
<thead>
<tr> <th clas="GVHeader"> my header row</th> </tr>
</thead>
<tbody>
...
</tbody>
</table>
</table>
.EmptyDiv
{
height: 33px;
margin: 0;
padding: 0;
background: #ffffff;
}