`
vakin.jiang
  • 浏览: 147532 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Jquery datatables插件实现表头固定内容可滚动列表

阅读更多

迷你音箱淘宝入口http://item.taobao.com/item.htm?id=13440256831

   

    最近用Jquery datatables Plugin+freemarker+Struts2开发一个数据列表的组件.由于在整个系统要用到这个组件的功能模块所涉及的数据量不大,为了便于直观,统一不做分页,而是通过滚动条来显示超出显示区域的内容。但是datatables本身如果通过overflow: scroll控制是否显示滚动条,在滚动条活动的时候<thead>部分,也就是列头部分也会随之滚动。我们知道在IE下只有div和body标签才会响应overflow: scroll的样式属性。所以试图在<tbody>标签上加overflow: scroll样式是在IE下是不生效的。

  下面是我采用的一种解决方法:用一个table A嵌套另外一个table B,A的第一行显示列头(即需要固定不懂的地方),第二行放置一个固定高度的div放置显示数据的table B,table B的<thead>部分(datatables插件必须的用于显示列头,以及控制内容行的每一列的宽度)内容置空,0高度显示。而在实际中这样写也比较麻烦,所以这部分用js动态生成。

 

CSS:

.scrolltable{height: 350px; overflow-x: hidden; overflow-y: auto; width: 100%;}
#dataTable tbody td{text-align:center;}

 JS:

//生成thead部分
function createThead(){
  if(columnsCount !='0'){
  var ths =  $("#ttitle > th");
  var tr = document.createElement("tr");
	for(i = 0;i<=columnsCount;i++){//第一列为隐藏列用户存放ID
	  var th = document.createElement("th");
	  if(i>0){
	    $(th).attr('width',$(ths[i-1]).attr('width'));
	  }else{
	    $(th).css("display","none");
	  }
	  tr.appendChild(th);
	}
	$(tr).height(0);
	$(tr).appendTo("#thead");
  }
}

 

 // 防止出现滚动条导致标题列和内容列错位
	   $('#'+ tableElementId).width( $(".scrolltable").width() );

 

html template:

<#--table template start-->
 <table width="99%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><div>
			<table width="100%" border="0" cellpadding="5" cellspacing="0" class="display">
	        <tr id="ttitle" class="tr1">
			<th width="20%">Row id</th>
			<th width="20%">Seat id</th>
			<th width="20%">Seat Type</th>
			<th width="20%">Index/1KG</th>
			<th width="20%">Arm(IN)</th>

	    </tr>
	        </table>
		  </div></td>
        </tr>
        <tr>
          <td><div class="scrolltable">
			<table width="100%" id="${tableEelementId}"  border="0" cellpadding="5" cellspacing="0" class="display">
	          <thead id="thead"></thead>
		      <tbody id="tbody"></tbody>
	        </table>
		  </div></td>
        </tr>
      </table>
<#--table template end-->

 



 

  • 大小: 20.7 KB
1
0
分享到:
评论

相关推荐

    Jquery dataTables插件

    jQuery DataTables插件是一款强大的数据展示工具,专为HTML表格设计,它提供了丰富的功能,如静态分页、排序、固定表头以及AJAX事件处理,让网页中的数据管理变得简单而高效。以下是对这个插件及其相关功能的详细...

    datatables固定头与滚动条适配文件

    然后,`FixedHeader`是`DataTables`的一个插件,它的主要作用是使表格的表头(thead)在用户滚动页面时保持固定,以便于用户在大量数据中导航。这在数据量大且需要滚动查看时非常有用。然而,在某些版本或配置中,`...

    jQuery Datatables表头不对齐的解决办法

    在使用jQuery Datatables进行网页数据展示时,可能会遇到表头(thead)与表格内容(tbody)对齐问题,尤其是在浏览器窗口大小变化或者响应式布局中。这个问题通常表现为表头与内容列宽不一致,造成视觉上的错位。...

    jquery 固定表头 表列

    `jQuery`插件如`fixedColumns`就提供了这样的功能,它可以对`DataTables`库中的表格进行扩展,实现固定列的效果。 至于表头多行的实现,通常涉及到合并单元格或创建额外的表头层。例如,可以创建一个隐藏的表头用于...

    jQuery实现固定表头标题栏让表格数据在滚动栏里滚动.zip

    另外,如果你的项目中已经使用了Bootstrap或其他前端框架,可能有现成的插件或组件可以实现类似的功能,如Bootstrap的`.table-fixed-header`类或jQuery的DataTables插件等。这些解决方案通常已经考虑到了各种浏览器...

    jQuery Datatables.zip

    此外,还有大量插件可供选择,例如`Buttons`用于导出数据,`Responsive`实现响应式布局,`Scroller`提供虚拟滚动功能。 **四、实例化与配置** 一个简单的Datatables初始化示例: ```javascript $(document).ready...

    网页模板——jQuery实现固定表头标题栏让表格数据在滚动栏里滚动.zip

    "jQuery实现固定表头标题栏让表格数据在滚动栏里滚动"这一技术主题,就是解决这个问题的一种常见方法。jQuery是一个轻量级、高性能的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务。在这里...

    datatable的固定列插件

    它的功能强大,可扩展性优秀,而“固定列插件”则是`Datatable`的一个重要组件,用于在滚动时保持表格的列头固定,提高用户在大数据量表格中的浏览体验。在本文中,我们将深入探讨`Datatable`的固定列插件及其应用。...

    表头固定及左侧边的固定(JQ)

    7. **插件使用**:虽然可以直接使用jQuery编写上述逻辑,但也可以利用现有的开源插件,如FixedHeader jQuery Plugin或Frozen Columns for DataTables等,它们已经封装好了这些功能,可以减少开发时间和提高代码质量...

    jQuery向下滚动表格头部固定代码

    同时,还可以考虑使用一些现成的jQuery插件,如`datatables.net`或`fixedHeader`,它们提供了更完善的表格固定头部功能,且通常已经处理了很多细节问题,可以简化开发过程。 通过以上介绍,我们了解了如何使用...

    jQuery冻结表头、列

    总结来说,jQuery冻结表头和列是通过创建复制的表头和列,结合滚动事件处理和CSS定位来实现的。理解这一过程可以帮助开发者自定义实现或更好地使用现有的jQuery插件,提升用户体验,特别是在处理大数据表格时。

    jsp表头相对固定的2种方法

    1. **DataTables**:这是一个强大的jQuery插件,它提供了许多表格增强功能,包括表头固定。引入DataTables库并设置相应的参数,即可轻松实现: ```html &lt;script src="https://cdn.datatables.net/1.10.25/js/jquery...

    jQuery表格顶部与左右两侧固定滚动代码.zip

    在实际开发中,为实现此类效果,开发者常会借助jQuery插件,如`fixedHeaderTable`或`datatables`。这些插件封装了复杂的布局和滚动逻辑,只需简单配置即可实现固定效果。虽然本压缩包未明确提及插件,但内部代码可能...

    jquery固定表头出现4个导航条

    总结来说,"jquery固定表头出现4个导航条"涉及到的技术点包括:使用`jQuery`处理滚动事件实现固定表头,利用CSS定位和样式调整,使用`DataTables`或类似插件实现分页功能,以及可能的自定义导航条设计。通过这些技术...

    两个表头固定的示例

    4. **JavaScript/jQuery插件**:如果需要更复杂的功能,如响应式布局,可以使用JavaScript或jQuery插件,如DataTables、FixedHeader等。这些插件能自动处理滚动事件,确保在各种屏幕尺寸下表头都能正确固定。 在...

    固定表头的效果--让浏览者永远都明白自己在看什么

    实现固定表头的方法多种多样,可以使用纯CSS,JavaScript库如jQuery,甚至现代的Web组件技术。下面将详细讲解几种常见的实现方式。 ### 1. CSS实现固定表头 通过CSS的`position`属性可以轻松创建固定表头。例如,...

    固定表头demo

    5. **其他库和框架**: 除了手动实现,还有许多现成的库和框架可以帮助创建固定表头,如Bootstrap的`fixedHeader`插件、DataTables的`fixedHeader`选项等。这些库通常提供更丰富的功能和更好的用户体验,但也会增加...

    gridview固定冻结列与表头

    此时,可以借助JavaScript或jQuery插件,如`fixedHeaderTable`或`datatables`,它们提供了更强大的功能和更好的兼容性。 3. **服务器端处理**:在ASP.NET中,可以使用服务器控件特性来部分实现这一功能。例如,通过...

    datatables

    7. 扩展功能:Datatables 提供了多种插件,如 FixedHeader 可以使表头在滚动时固定在屏幕顶部,Scroller 可以实现虚拟滚动效果,提高大数据量下的性能,RowReorder 允许用户重新排列行顺序,FixedColumns 可以固定列...

    jquery常用插件

    当表格数据量较大时,Scrollable Tables(例如:jScrollPane或FixedHeader)插件可以实现表格内容的滚动及固定表头,使用户在滚动页面时仍能清晰看到列标题。这些插件使得大表格在小屏幕设备上也能有良好的浏览体验...

Global site tag (gtag.js) - Google Analytics