如何在带有垂直滚动条的网格视图中显示固定标题?
那是当我向下滚动标题时应该可见。
将网格放在 div 或panel with scrollbar property
. 中。但这需要额外的努力才能进行正确的对齐。标题表的每个单元格都应该是aligned with each cell
网格的。另一种解决方法是采用网格fix the header of the grid
的方式。使用我们可以实现那。scrolling down shouldnt hide the header
stylesheet
在您的代码中添加以下样式并指定网格视图或数据网格标题样式css
。
.fixedHeader
{
font-weight:bold;
position:absolute;
background-color: #006699;
color: #ffffff;
height: 25px;
top: expression(Sys.UI.DomElement.getBounds(document.getElementById("panelContainer")).y-25);
}
"panelContainer" is the id of the panel
. "Sys.UI.DomElement.getBounds(document.getElementById("panelContainer")).y "
给出了我们需要的面板的确切 Y 位置fix the header
0.25 像素是标题的通常高度。That much of space we had to leave for the header
这样它就不会占用网格内容的任何空间。使用面板控件,我们可以控制width, height, and scrollable option
. 对于我们的代码示例,我们设置height as 300px
, the width as 100%
,并将 Panel 设置为滚动,同时仅显示vertical scrollbars
. 将您的网格放入面板中。现在我们必须将上面定义的 CSS 类分配给 GridView 的 HeaderStyle
<asp:Panel ID="panelContainer" runat="server" Height="300px" Width="100%" ScrollBars="Vertical">
<asp:GridView ID="gvScrollableExample" runat="server">
<HeaderStyle CssClass="fixedHeader " />
</asp:GridView></asp:Panel>
这样我们可以将标题固定在网格的顶部,向下滚动不会用标题滚动网格。