0

如何在带有垂直滚动条的网格视图中显示固定标题?

那是当我向下滚动标题时应该可见。

4

1 回答 1

7

将网格放在 div 或panel with scrollbar property. 中。但这需要额外的努力才能进行正确的对齐。标题表的每个单元格都应该是aligned with each cell网格的。另一种解决方法是采用网格fix the header of the grid的方式。使用我们可以实现那。scrolling down shouldnt hide the headerstylesheet

在您的代码中添加以下样式并指定网格视图或数据网格标题样式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 header0.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>

这样我们可以将标题固定在网格的顶部,向下滚动不会用标题滚动网格。

于 2012-10-25T06:34:56.237 回答