web DataGridView 冻结表头和列

asp.net 在GridView中使用CSS固定上、左表头(似Excel冻结行列一样)(限IE) [转]  


2012-05-11 12:39:50|  分类: .net技术 |举报|字号 订阅
1.首先这样的方式并非标准的CSS语法,然而创建WebForm的时候,aspx里面都会加入一行来检查是否是标准的格式,有这行会失败,必須将此行刪除。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


2、其次,由于GridView所产生的HTML里面,自懂会加入一个DIV,这会导致CSS中的  


         this.parentElement.offsetParent.parentElement.scrollLeft


取错,要修正为


         this.parentElement.offsetParent.offsetParent.scrollLeft


 


以下为范例:


1、首先,在.aspx文件中加入CSS设定:


<style type="text/css">


.FixedTitleRow     
{     
    position: relative;      
    table-layout:fixed;  
    top: expression(this.offsetParent.scrollTop-2);  
    background-color:White;  
    z-index: 10;     
}     
  
.FixedTitleRow th  
{  
    text-overflow:ellipsis;  
    overflow:hidden;  
    white-space: nowrap;  
    padding:2px;  
}  
     
.FixedTitleColumn     
{     
    position: relative;      
    left: expression(this.parentElement.offsetParent.scrollLeft-2);     
}     
     
.FixedDataColumn     
{     
    position: relative;     
    left: expression(this.parentElement.offsetParent.offsetParent.scrollLeft-2);     
}   


</style>


2、去掉:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


 
3、为gridview表头设置样式(锁定表头):在.cs文件中的load方法中设置即可


GridView1.HeaderStyle.CssClass="FixedTitleRow";


4、若固定左边的一列,设定HeaderStyle的CssClass=FixedTitleColumn,以及ItemStyle的CssClass=FixedDataColumn。即可



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值