`
pumaboyd
  • 浏览: 251440 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DataGrid表头锁定总结

阅读更多
 

在网上找了许多资料也发现很多实现DataGrid表头锁定的方法,但总觉的太杂太乱,将自己认为比较实用的两个解决方法列举出来。

 

l         方案一:使用HTC实现表头锁定。

这个方法比较简单,只要给DataGrid套用CSS样式就可以了。但这种方法有个弊端,就是列数过多时,会造成表头和表的内容错位,影响用户使用。

1.       给页面添加样式。

<STYLE>

.tblMain { BORDER-RIGHT: darkblue 1px solid; BORDER-TOP: darkblue 1px solid; FONT-SIZE: 0.8em; BEHAVIOR: url(scrolltable.htc); BORDER-LEFT: darkblue 1px solid; BORDER-BOTTOM: darkblue 1px solid; FONT-FAMILY: Verdana; BACKGROUND-COLOR: highlight }

.tblHeader { COLOR: highlighttext }

.tblBody { COLOR: darkblue; BACKGROUND-COLOR: #eeeeee }

</STYLE>

2.       DataGrid添加样式引用。(红色标记为添加的样式引用)

<asp:DataGrid id="dgrdHtc" runat="server" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" Width="100%" bodyHeight="200" bodyCSS="tblBody" headerCSS="tblHeader" class="tblMain">

</asp:DataGrid>

3.       添加htc文件到DataGrid所在页面的文件夹中。具体HTC文件路径可以在第一步的样式中配置。

 

具体显示效果如下:

 

 

l         方案二 DIV + CSS + JS

这个方案稍微麻烦一点,但我觉的还是可行的一种,这是我根据原来一个CSS控制Table锁定表格的方法改造过来的。步骤如下:

1.       HTML添加这个头:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

如果原来有类似的头请去除。

2.       添加样式:

<style type="text/css">

DIV.tableContainer { OVERFLOW-Y: auto; HEIGHT: 300px }

#fixedHeader TR TD { POSITION: relative }

</style>

3.       添加JS脚本,红色字体为DataGridID

<script language="javascript">

              function window.onload()

              {

                     //红色字体为DataGridID

                     var dg = document.getElementById('dgrdDiv');

                     var tableHead = dg.createTHead();

                     tableHead.id = "fixedHeader";

                     tableHead.appendChild(dg.rows[0].cloneNode(true))

                     dg.rows[1].removeNode(true);

              }

</script>

具体显示效果如下:

 

这两种方式实现的表头锁定在样式有区别的,第一种的滚动条在里面,第二种的滚动条在整个DataGrid的外面。
/Files/pumaboyd/FixedHeader.rar

分享到:
评论

相关推荐

    DataGrid固定表头

    在大数据量的情况下,用户需要滚动查看数据,但保持表头固定以便于理解每一列的数据含义,这就需要用到"DataGrid固定表头"的功能。这种功能在前端开发中尤其重要,因为它提供了更好的用户体验,使得用户在滚动浏览长...

    jquery-easyui拓展之datagrid复合表头列锁定/解锁和列隐藏/显示

    http://blog.csdn.net/tianxiawudi0720/article/details/47401399

    WPF设置表头

    这就涉及到 Datagrid 的表头设置和动态列管理。 动态Datagrid的基本思想是根据数据源的结构或用户输入来创建或隐藏Datagrid的列。在WPF中,我们可以使用DataGrid.Columns属性来操作列,并通过设置列的Visibility...

    gridview固定表头 横向滚动 纵向固定

    "GridView固定表头横向滚动纵向固定" GridView是一个基于ASP.NET的数据控件,用于显示数据表格。然而,在默认情况下,GridView的表头无法固定在屏幕上,使得用户体验不佳。为了解决这个问题,本文将介绍如何实现...

    iPhone DataGrid 数据列表组件,支持行列锁定

    行列锁定功能使得在滚动列表时,某些特定的行或列可以固定在屏幕的可见位置,这样用户就可以在浏览其他数据时始终保持对关键信息的视线,例如表头。这对于处理大型表格数据特别有用,因为它确保了分类和标识信息始终...

    GridView固定表头

    ### GridView固定表头知识点 #### 一、概念与应用场景 在Web开发中,尤其是在ASP.NET等框架中,GridView是常用的数据展示控件之一。当数据量较大时,用户需要通过滚动来查看全部内容,这时固定表头就显得尤为重要...

    jeesite后台框架

    一是,放到表头的好处是,可一览熟知该实体类对应的物理表结构是什么样,开发者思维从物理表结构到对象的映射转换,都是基于物理表结构的,@Column指定物理字段名,而不是指定类上的属性名,也是这个原因;...

    SG-UAP前端开发最全秘籍

    - **多表头锁定列表格(GroupLockHeaderGrid)**:结合了锁定列表格和多表头表格的特点。 - **树(DataTree)**:用于展示层级结构的数据,如组织结构图等。 - **2.2 窗口控件** 窗口控件包括: - **消息提示...

    AdvancedDataGrid综合应用

    同时,AdvancedDataGrid支持使用CellRenderers和HeaderRenderers来自定义单元格和表头的显示。 5. **数据绑定和数据提供者** 在Flex中,AdvancedDataGrid通常与ArrayCollection或XMLListCollection等数据提供者...

    《ASP.NET与数据库程序设计》

    编辑时锁定部份栏位 编辑时使用多种控制项 6-2-2新增设计 6-2-3删除设计 删除基本设计 批次删除 6-2-4分页设计 分页基本设计 使用数字 6-2-5排序设计 排序基本设计 ...

Global site tag (gtag.js) - Google Analytics