在Web上冻结DataGrid的列头 [转]

 ASP.NET页面中,有时候我们需要冻结datagrid中的某一列,比如显示的数据项过多时,我们需要让第一列不动,拖动横向滚动条时其他列隐藏,这时就需要冻结列了;另外,有时候也需要让datagrid的头部不动,拖动纵向滚动条时,下面的数据项可以滚动。在实现的过程中,其实就是用了css样式来控制,一起看一下。  

  要冻结哪一列,就把fixCol这个CSS加到HeaderStyle-CssClass和ItemStyle-CssClass-->  

<style type="text/css">  
 .fixCol {}{ ; LEFT: expression(this.offsetParent.scrollLeft); POSITION: relative }  
</style>  
</HEAD>  

<asp:BoundColumn DataField="LastName" HeaderText="姓名">  
 <!--下面就是冻结列-->  
 <HeaderStyle CssClass="fixCol"></HeaderStyle>  
 <ItemStyle CssClass="fixCol"></ItemStyle>  
</asp:BoundColumn>  

把fixTitle这个CSS加到DataGrid的HeaderStyle-CssClass和ItemStyle-CssClass-->  

<style type="text/css">  
 .fixTitle {}{ POSITION: relative; ; TOP: expression(this.offsetParent.scrollTop) }  
</style>  
</HEAD>  

<!--冻结头部-->  
<ItemStyle ForeColor="#330099" BackColor="White" CssClass="fixTitle"></ItemStyle>  
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000" CssClass="fixTitle"></HeaderStyle>  

<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
发布了24 篇原创文章 · 获赞 0 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章