`
linleizi
  • 浏览: 230326 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

JQuery Datatables Columns API 参数详细说明

 
阅读更多

Data Tables: http://datatables.net/

Version: 1.10.0

 

Columns说明

虽然我们可以通过DOM直接获取DataTables元素的信息,但是DataTables提供了更方便的方法,可以自定义列的属性。下边就让我们一起来学习DataTables是怎么来定义列属性的。

  • DataTables提供了两个参数来定义列属性:columns 和 columnDefs (源代码里:aoColumns 和 aoColumnDefs)
  • 为了用户定义的参数更易于理解,DataTables提供的用户参数名和源代码的参数名是不一样的,不过这两个参数名,不管使用哪个,最终效果是一样的。(*以下参数说明都是用户使用参数名)

columns 和 columnDefs的区别:

  • 相同点:达到相同的效果
  • 不同点:作用不一样,使用不一样(需要一个目标属性在每个定义的对象(columnDefs.targetsDT))
  • columns:设置特定列的初始化属性,可以定义数组设置多列,数组长度必须等于表格的数量,只想使用默认值可以设为“NULL”,数组每个元素只能设置单列的属性。
  • columnDefs:与columns非常相似,该数组可以针对特定的列,多列或者所有列定义。数组可以任意长度。通过targets参数设置一个列或者多列,该属性定义可以如下:
    • 0或正整数 - 从左边的列索引计数 
    • 负整数 - 列索引从右边计数
    • 一个字符串 - 类名称将被匹配上的TH为列 
    • 字符串“_all” - 所有的列(即指定一个默认值)
  • 两个参数可以同时使用,但是columns定义的优先级最高。
  • 当columnDefs里对同一列有多个定义时,最开始的定义优先级最高。
example:
	$('#example').dataTable(
		{
			data: [
					{
					    "name":    "Tiger Nixon1",
					    "position":   "System Architect1",
					    "phone": { "plain": 5552368, "filter": "5552368 555-2368", "display": "555-2368" },
					    "salary":    "$3,1201",
					    "start_date": "2011/04/25",
					    "office":    "Edinburgh1",
					    "extn":    "54211"
					},
					{
					    "name":    "Tiger Nixon2",
					    "position":   "System Architect2",
					    "phone": { "plain": 5552368, "filter": "5552368 555-2368", "display": "555-2368" },
					    "salary":    "$3,1202",
					    "start_date": "2011/04/25",
					    "office":    "Edinburgh2",
					    "extn":    "54212"
					},
					{
					    "name":    "Tiger Nixon3",
					    "position":   "System Architect3",
					    "phone": { "plain": 5552368, "filter": "5552368 555-2368", "display": "555-2368" },
					    "salary":    "$3,1203",
					    "start_date": "2011/04/25",
					    "office":    "Edinburgh3",
					    "extn":    "54213"
					}
					
			],
			
			columnDefs: [
				{
				    "targets": 0,
				    "searchable": false
				},
				{
				    "targets": [1,2,3],
				    "orderData": [ 2, 3, 4 ],
				    "searchable": false
				},
				{
				    "targets": [-3,-4],
				    "orderable": false,
				    "searchable": false
				}
			],
			
			columns: [
			    { "name": "name", 
			      "cellType": "th",
			      "orderDataType": "dom-text",
			      "orderSequence": [ "desc","asc", "asc" ],
			      "className": "my_class",
			      "contentPadding": "mmm",
			      "createdCell": function (td, cellData, rowData, row, col) {
			          if ( row < 1 ) {
			            $(td).css('color', 'red');
			          }
			        },
			      "data": "name", 
			      "searchable": true, 
			      "title": "My Name"
			    },
				{ 
			    	"data": "position",
				    "render": function ( data, type, full, meta ) {
					 	return '<a href="'+data+'">' + data + '</a>';
					}
			    },
			    {
					"data": 'phone',
				    "render": {
				      "_": "plain",
				      "filter": "filter",
				      "display": "display"
				    }
			    },
			    { "data": "office" },
				{ "data": "start_date", "type": "date" },
				{ "data": "extn", "visible": false},
				{ "data": "salary", "width": "20px"  },
			    {
				 	"data": null,
				 	"orderable": false,
				    "defaultContent": "<button>Edit</button>"
				}

			]
		}
	);
  
参数详解:
用户参数名 源码参数名 英文解释 中文解释

cellType

 

sCellType

Cell type to be created for a column  设置列标签的类型(ex:th,td)
className

sClass

Class to assign to each cell in the column 设置列的class属性值
contentPadding

sContentPadding

Add padding to the text content used when calculating the optimal with for a table. 设置填充内容,以计算与优化为一个表时所使用的文本内容,一般不需要设置
createdCell

fnCreatedCell

Cell created callback to allow DOM manipulation 设置cell创建完后的回调函数,设置背景色或者添加行 
data

mData

Set the data source for the column from the rows data object / array 设置单元格里的值
defaultContent

sDefaultContent

Set default, static, content for a column 设置列的默认值
name

sName

Set a descriptive name for a column 设置列的描述性名称
orderable

bSortable

Enable or disable ordering on this column 设置列是否可以排序
orderData

aDataSort

Define multiple column ordering as the default order for a column 设置多列排序时列的默认顺序
orderDataType sSortDataType  Live DOM sorting type assignment  
orderSequence

asSorting

Order direction application sequence 设置列的默认排序,可以改变列排序的顺序处理
render

mRender

Render (process) the data for use in the table  
searchable

bSearchable

Enable or disable filtering on the data in this column 设置列的数据是否过滤
title sTitle  Set the column title 设置列的标题
type sType

Set the column type - used for filtering and sorting string processing.

Four types (string, numeric, date and html (which will strip HTML tags before ordering)) are currently available.

设置列的类型,用于过滤和排序的字符串处理。
visible bVisible Enable or disable the display of this column 设置列是否显示
width sWidth Column width assignment 定义列的宽度

 

参考资料:http://datatables.net/reference/option/

分享到:
评论
1 楼 shajiquan 2015-05-18  
谢谢兄台梳理。消除我许多疑惑,坚定我许多认识。

相关推荐

    jquery.dataTables包.rar

    例如,`api().draw()` 更新表格,`api().rows.add(data)` 添加行,`api().columns.adjust()` 自动调整列宽。这些API为动态更新数据或执行特定操作提供了便利。 5. **服务器端处理**: 对于大数据集,DataTables ...

    jQuery Datatables.zip

    jQuery DataTables提供了丰富的API,允许开发者在运行时对表格进行操作,如`fnDraw()`用于重新绘制表格,`fnFilter()`用于过滤数据。此外,还有大量插件可供选择,例如`Buttons`用于导出数据,`Responsive`实现响应...

    JQuery DataTable中文文档API.chm

    `JQuery DataTables中文文档API.chm` 提供了详细的中文参考,帮助开发者更好地理解和使用这个库。 **1. 数据源(Data Sources)** `DataTables` 支持多种数据源,包括DOM、JSON、XML、CSV、TSV等。这使得它可以灵活...

    jquery datatables 插件 后台代码

    **jQuery DataTables 插件后台代码详解** jQuery DataTables 是一款功能强大的JavaScript库,用于将HTML表格转换为高度交互、可排序、可搜索且具有分页功能的数据展示平台。它支持Ajax数据源,能轻松地与后端服务器...

    22-08-09-062_JsonTable(基本设置Jquery DataTables)

    本教程将聚焦于“22-08-09-062_JsonTable(基本设置Jquery DataTables)”这一主题,教你如何利用Jquery DataTables实现无刷新查询和删除操作,以增强.NET Core 6应用的前端功能。 首先,我们需要了解Jquery ...

    jquery datatable 单元格合并

    本篇将详细介绍如何使用jQuery DataTables结合JavaScript来实现相同内容单元格的动态合并。 首先,我们需要理解jQuery DataTables的基本用法。它基于jQuery库,可以通过简单的配置和API来创建高度交互的表格。要...

    jQuery datatable1.10.5 api

    **jQuery Datatables 1.10.5 API 深度解析** jQuery Datatables 是一个功能强大的、高度可定制的数据展示插件,广泛应用于网页表格的动态化和增强交互性。1.10.5 版本是 Datatables 的一个重要里程碑,它提供了丰富...

    JQueryDataTables-1.9.4.rar

    - 更新了文档,增加了对新特性的详细说明和示例代码。 **使用步骤** 1. **引入依赖**:在HTML文件中引入jQuery库和DataTables的CSS及JS文件。 2. **初始化表格**:使用`$(table).dataTable()`方法初始化表格元素。...

    使用jQuery DataTables插件增强HTML表

    总结,jQuery DataTables插件通过简单的配置和强大的API,让HTML表格具备了丰富的交互性和功能,为Web开发人员提供了高效的数据展示解决方案。通过学习和实践,开发者可以轻松地创建出符合需求的动态数据表格。

    DataTables - jQuery表格插件

    DataTables提供了一套完整的JavaScript API,允许开发者在运行时控制表格的各种状态,如`fnSort()`用于排序,`fnFilter()`用于过滤,`fnPageChange()`用于切换页面等。 5. 数据表格的优化与性能: - 为了提高性能...

    jQuery DataTables插件自定义Ajax分页实例解析

    《jQuery DataTables插件自定义Ajax分页实例解析》 在前端开发中,尤其是在处理大量数据展示时,分页功能显得尤为重要。jQuery DataTables是一款强大的表格插件,它提供了丰富的功能,包括排序、搜索和分页等。然而...

    jQuery dataTables与jQuery UI 对话框dialog的使用教程

    ### jQuery DataTables插件的使用 jQuery DataTables是一个功能强大的jQuery表格插件,可用于增强HTML表格数据的交互性。它的主要特点包括: 1. 自动分页处理:自动实现数据分页,使数据量大的表格也可以分批展示...

    jquery_datatables_orbiacolumnfilter:用于列过滤的 jQuery DataTables 插件

    `jQuery DataTables OrbiaColumnFilter` 是一个专为增强 `jQuery DataTables` 功能而设计的插件,尤其在列过滤方面提供了强大的支持。`jQuery DataTables` 是一个流行的前端数据展示库,它允许用户以表格形式优雅地...

    Jquery Datatables的使用详解

    **jQuery DataTables 使用详解** jQuery DataTables 是一个功能丰富的JavaScript库,它为HTML表格提供了强大的增强功能,包括排序、搜索、分页以及更多的定制化选项。这个插件能够与Bootstrap 3/4、jQuery UI等前端...

    datatables_1.zip

    7. **API调用**:DataTables提供丰富的API接口,可以在运行时对表格进行操作,如`table().rows().remove().draw()`用来删除所有行,或者`table().search('text').draw()`来进行搜索。 这个"datatables_1.zip"中的...

    jquery,d-a-t-a-T-a-b-l-e中文api.rar

    **jQuery DataTables中文API详解** jQuery DataTables 是一个强大的、高度可定制的表格插件,它为HTML表格提供了丰富的功能,如数据排序、过滤、分页和Ajax数据加载。这个插件基于jQuery库,极大地提升了表格操作的...

    Jquery dataTable显示指定列

    在本文中,我们将深入探讨如何使用Jquery dataTable插件来显示...`Jquery dataTable`提供了丰富的API和回调函数,使得这些扩展成为可能。同时,通过自定义CSS和JavaScript,我们可以进一步增强界面的交互性和美观性。

    JQuery DataTable 插件 V2.0

    jQuery DataTables通过简单的API调用即可快速地对表格进行增强。首先,你需要在页面中引入jQuery库和DataTables的CSS及JS文件。然后,选择要操作的表格元素,使用`.DataTable()`方法将其初始化为DataTables对象。 `...

    datatables最简单的模板

    以下是对“datatables最简单的模板”及相关知识点的详细说明: 1. **Datatables简介**:Datatables是基于jQuery的开源插件,它能够将普通的HTML表格转化为功能丰富的数据展示工具,包括排序、搜索、分页等功能。它...

    DataTables (1).zip

    - **API**:DataTables还提供了一套强大的API,允许在运行时动态操作表格,如添加、删除或更新行,或者获取表格状态等。 总的来说,DataTables是一个强大且灵活的表格插件,通过其丰富的功能和定制选项,可以满足...

Global site tag (gtag.js) - Google Analytics