C# 固定标题网格视图ASP.NET

C# 固定标题网格视图ASP.NET,c#,asp.net,html,gridview,C#,Asp.net,Html,Gridview,我浏览了很多固定标题网格视图的示例,并尝试了一些使用div和java脚本的选项。这个例子中我没有用到的,这里有我遗漏的东西吗 CSS .gridViewHeader { background-color:Navy; color:blue; font-size:12px; font-weight:bold; position:relative; z-index:10; top:expression(<%= gv.HeaderRow

我浏览了很多固定标题网格视图的示例,并尝试了一些使用div和java脚本的选项。这个例子中我没有用到的,这里有我遗漏的东西吗

 CSS 
.gridViewHeader
{
     background-color:Navy;
    color:blue;
    font-size:12px;
    font-weight:bold;
    position:relative;
    z-index:10;
   top:expression(<%= gv.HeaderRow %>.offsetParent.scrollTop-2);
}

design source
<table>
<tr>
            <td>
                &nbsp;
            </td>
        </tr>
    </table>
    <div>
        <asp:GridView ID="gv" runat="server" CellPadding="4" PageSize="50" RowHeaderColumn="True"
            AllowPaging="True" BackColor="White" BorderColor="#3366CC" BorderStyle="None"
            BorderWidth="1px" CssClass="gridViewHeader">
            <PagerSettings Mode="NumericFirstLast" />
            <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" VerticalAlign="Middle" />
            <RowStyle BackColor="White" ForeColor="#003399" BorderStyle="Inset" HorizontalAlign="Center"
                VerticalAlign="Middle" Wrap="False" />
            <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
        </asp:GridView>
    </div>
        <asp:HiddenField ID="hiddenfield1" runat="server"  />
    </asp:Content>
CSS
.gridViewHeader
{
背景色:海军蓝;
颜色:蓝色;
字体大小:12px;
字体大小:粗体;
位置:相对位置;
z指数:10;
top:表达式(.offsetParent.scrollTop-2);
}
设计来源
您可以使用

<HeaderStyle CssClass="gridViewHeader" />

谢谢你的样品

<asp:GridView ID="gv" runat="server" CellPadding="4" PageSize="50" RowHeaderColumn="True"
            AllowPaging="True" BackColor="White" BorderColor="#3366CC" BorderStyle="None"
            BorderWidth="1px" >

            <HeaderStyle CssClass="gridViewHeader" />

            <PagerSettings Mode="NumericFirstLast" />
            <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" VerticalAlign="Middle" />
            <RowStyle BackColor="White" ForeColor="#003399" BorderStyle="Inset" HorizontalAlign="Center"
                VerticalAlign="Middle" Wrap="False" />
            <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
        </asp:GridView>

我就是这么做的。我用这篇文章作为参考


诀窍是创建一个表,然后将网格放在该表下方的div中。将细节单元的宽度设置为与gridview中的单元相同的宽度。然后确保滚动条保持打开状态,如果没有足够的行实际需要滚动功能,网格和表格将对齐

此CSS将解决您的问题:

.GVFixedHeader { font-weight:bold; background-color: Green; position:relative; 
             top:expression(this.parentNode.parentNode.parentNode.scrollTop-1);}

谢谢Candie提供的ans,我尝试了这个选项,但是标题也向上移动了。我很乐意帮助你,但是我认为你的css有问题,因为这是一个好的答案。我尝试了这个选项,但是标题也在移动,它冻结了你正在使用的浏览器的网格视图的正上方?如果页眉正在移动,请删除top:expression和use.GVFixedHeader{font-weight:bold;背景色:绿色;position:relative;}您好,此选项会导致页眉宽度和行详细信息不匹配。标题和列是动态创建的。标题和详细信息列未正确对齐。为了使其正确对齐,您必须在gridview中定义每个结果的宽度。