Asp.net 如何在Gridview中具有固定的标题?

Asp.net 如何在Gridview中具有固定的标题?,asp.net,gridview,Asp.net,Gridview,我的一位朋友提供了这个当前的实现。该项目有一个GridView,如下所示 <div ID="divGrid" runat="server"> <asp:GridView ID="docGrid" runat="server" AutoGenerateColumns="False" GridLines="None" DataSourceID="pagedDatasetSourceControl" OnRowDataBound="docGrid_RowDataBound"

我的一位朋友提供了这个当前的实现。该项目有一个GridView,如下所示

<div ID="divGrid" runat="server">
<asp:GridView ID="docGrid" runat="server" AutoGenerateColumns="False" GridLines="None"
    DataSourceID="pagedDatasetSourceControl" OnRowDataBound="docGrid_RowDataBound" OnSelectedIndexChanging="docGrid_SelectedIndexChanging" DataKeyNames="ID"
    CssClass="gridTable" AllowSorting="True" AllowPaging="True" meta:resourcekey="docGridResource1">
    <PagerSettings Visible="false"></PagerSettings>
    <Columns>
        ..................
    </Columns>
    <RowStyle CssClass="tableRow"></RowStyle>
    <PagerStyle VerticalAlign="Bottom" HorizontalAlign="Right"></PagerStyle>
    <AlternatingRowStyle CssClass="tableRowAlt"></AlternatingRowStyle>
</asp:GridView>
</div>
但是上面的代码也会滚动标题,所以当我向下滚动时,标题也会滚动。有没有办法通过在my.cs文件中为此类添加“Attributes”来解决此问题


感谢

我编写的jQuery插件可以固定标题和冻结列,它可以应用于GridView。 如图所示:

请浏览以下网站:

支持的浏览器

  • Internet Explorer 7、8(IE 9兼容性)
  • Internet Explorer 9(9.0.8112)
  • Windows 7上的Internet Explorer 10预览
  • 谷歌浏览器(23.0.1271.64米)
  • Mozilla Firefox(16.0.2)
  • 苹果Safari(5.1.7)

替代解决方案,如果将CssClass添加到标头(ShowHeader=“true”):

它使stick成为第一行的表数据,而不是行。这就是为什么这只是一个替代解决方案,因为滚动条是从标题行开始的。。但是在你设计了一点滚动条之后,结果就不那么糟糕了


使用javascript。下面是一个为ASP.NET on codeproject准备的项目,您可以下载:您对如何实现它有什么想法吗?请下载该页面上的源代码并亲自查看。(src文件有很好的注释,所以你会理解他在做什么)你好,adaam,解决方案就是不起作用…干得好!请在插件页面添加需要安装jquery-ui.min.js的内容,如果不需要,则显示一些消息。非常感谢。我在GitHub中更新了更多信息:v2版本已经发布。这个简单的解决方案对我来说非常有用。唯一有点负面的事情是,一旦标题被滚动到表的数据中,它就会丢失它的边框。我不知道如何让边境停留。
this.divGrid.Attributes.Add("class", "fleft scroll");
this.divGrid.Attributes.Add("style", "width:100%; height:250px;");
<HeaderStyle CssClass="StickyHeader" />
.StickyHeader th {
   position: sticky;
   top: 0
}