固定表头,加滚动条的datagrid

原创 2005年05月16日 13:39:00

将datagrid放入一个层中

在html中加入

<style>.CornerStyle {
 BORDER-RIGHT: buttonshadow 1px solid; BORDER-TOP: #ffffff 1px solid; Z-INDEX: 1; BACKGROUND: #33ccff; ; LEFT: expression(document.getElementById('c').scrollLeft); BORDER-LEFT: #ffffff 1px solid; WIDTH: 100px; LINE-HEIGHT: 22px; BORDER-BOTTOM: buttonshadow 1px solid; POSITION: relative; ; TOP: expression(document.getElementById('c').scrollTop); TEXT-ALIGN: center
}
.HeaderItemStyle {
 BORDER-RIGHT: buttonshadow 1px solid; BORDER-TOP: #ffffff 1px solid; BACKGROUND: #33ccff; BORDER-LEFT: #ffffff 1px solid; WIDTH: 220px; WORD-BREAK: break-all; LINE-HEIGHT: 20px; BORDER-BOTTOM: buttonshadow 1px solid; WHITE-SPACE: nowrap; POSITION: relative; ; TOP: expression(document.getElementById('c').scrollTop); TEXT-OVERFLOW: ellipsis; TEXT-ALIGN: center
}
.ContentStyle {
 BORDER-RIGHT: buttonshadow 1px solid; BORDER-TOP: buttonhighlight 1px solid; ; LEFT: expression(document.getElementById('c').scrollLeft); BORDER-LEFT: buttonhighlight 1px solid; WIDTH: 30px; CURSOR: default; WORD-BREAK: break-all; BORDER-BOTTOM: buttonshadow 1px solid; WHITE-SPACE: nowrap; POSITION: relative; TEXT-OVERFLOW: ellipsis; BACKGROUND-COLOR: #fffacd; TEXT-ALIGN: center
}
.ItemStyle {
 BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 1px; PADDING-LEFT: 1px; Z-INDEX: -2; PADDING-BOTTOM: 1px; WIDTH: 220px; WORD-BREAK: break-all; LINE-HEIGHT: 20px; PADDING-TOP: 2px; BORDER-BOTTOM: #cccccc 1px solid; WHITE-SPACE: pre; TEXT-OVERFLOW: ellipsis; TEXT-ALIGN: left
}
.MainDivStyle {
 BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #cccccc 1px solid; MARGIN-LEFT: 0px; OVERFLOW: auto; BORDER-LEFT: #cccccc 1px solid; WIDTH: 400px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 300px
}
 </style>    

在InitializeComponent()中加入

 this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.MyDataGrid_OnItemDataBound);

在cs中加入

public void MyDataGrid_OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
   if(e.Item.ItemType == ListItemType.Header)
   {
    //  e.Item.Attributes.Add("style", "position:relative; top:expression(this.offsetParent.scrollTop);");
    e.Item.Cells[0].Attributes.Add("class", "CornerStyle");
    for(int i = 1; i<e.Item.Cells.Count;i++)
     e.Item.Cells[i].Attributes.Add("class", "HeaderItemStyle");
   }
   if((e.Item.ItemType == ListItemType.Item) ||(e.Item.ItemType == ListItemType.AlternatingItem)||(e.Item.ItemType == ListItemType.EditItem))
   {
    //e.Item.Cells[3].Visible=false;
    //e.Item.Cells[0].Attributes.Add("style", " LEFT: expression(document.getElementById('c').scrollLeft); POSITION: relative;border-bottom:0px;border-right:0px;background:#ccccff;z-index:102");
    e.Item.Cells[0].Attributes.Add("class", "ContentStyle");
    for(int i = 1; i<e.Item.Cells.Count;i++)
     e.Item.Cells[i].Attributes.Add("class", "ItemStyle");

   }
  }

有滚动条、固定Header的ASP.Net DataGrid实现

using System;  using System.Web.UI;  using System.Web.UI.WebControls;  using System.ComponentModel; ...

无比强大的GridView,表头固定,表体有滚动条可滚动

// 计算数据,完全可以从数据看取得 ICollection CreateDataSource( ) { System.Data.DataTable dt = new System.D...

更改润乾报表锁定表头时滚动条样式

润乾报表在页面端展现时,可生成滚动条锁定表头,通过拖拽滚动条查看相应数据,客户在使用时通常是将报表集成到自己的页面中,这样就要求生成滚动条的样式要和客户的显示风格保持一致,需要能定义润乾所生成的滚动条...

滚动条下拉DIV固定在头部不动

  • 2014年03月18日 15:48
  • 33KB
  • 下载

如何更改润乾报表锁定表头时的滚动条样式

润乾V4 润乾报表 锁定表头 滚动条样式

easyui datagrid 没数据时显示滚动条的解决方法

今天解决了一个bug,因为datagrid有多列,可是当没有数据的时候,后面的列无法通过滚动条拉动来显示,比较麻烦,而需求要求没有数据也要拉动滚动条查看后面有什么列,一开始在网上找了一些资料,发现都不...

对easyui datagrid 进行扩展拉动滚动条到底部自动加载数据《二》

利用jquery 对easyui datagrid进行了一个更好的扩展 js代码: //对jquery进行扩展,调用的时候只需要需要调用$.autoLoad 即可,传入对象参数 (function(...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:固定表头,加滚动条的datagrid
举报原因:
原因补充:

(最多只允许输入30个字)