如果有人用过jquery,而且用jquery去写一些有关于数据表格的前台页面,那么想必应该用过datatable这款控件,当然还有一款dataGridview的控件,也挺不错的,我是因为帮老师做一个项目,所以涉及到这个控件,当时就感觉挺强大的,我们用到了只是其中很少一部分功能,当初为了赶进度,也没有深入的去研究一下,那现在趁着刚开学课程很少,就花了点时间好好的研究了一些,接下来我应该会写几篇有关于datatable的学习笔记。
因为国内资料很少,我也是下了官网的包,目前最新的DataTables-1.9.4,然后自己慢慢啃,都是英文,看得挺头疼的,我总结的也只是我认为重要的东西,最好的学习方法还是自己去DataTables-1.9.4\docs下看,如果有人也对这款控件有所研究,欢迎分享,如果我有地方说的不对也希望大家积极指正,反正就是一句话,大家一起学习进步。
因为我是一边研究一边把一些重要的东西写在word上的,然后汇总分几篇发表的,所以格式什么的没太注意,可能大家会看得有点累,那进入正题:
DataTable下有四个命名空间(namespace),分别是defaults,ext,models,oApi。
Defaults:主要是用于初始化表格的一些选项。
Ext:extension object,提供额外的表格选项
Models:类模型容器,These models define the objects that are used to hold the active state and configuration of the table
oApi: 一些其他人开发的额外函数,Reference to internal functions for use by plug-in developers
1个静态变量 version,3个静态方法:fnIsDataTable,fnTables,fnVersionCheck。
22个方法:
$(sSelector, oOpts) → {object} |
Perform a jQuery selector action on the table's TR elements |
_(sSelector, oOpts) → {array} |
Almost identical to $ in operation |
fnAddData(mData, bRedraw) → {array} bRedraw是个bool值 |
Add a single new row or multiple rows of data to the table |
fnAdjustColumnSizing(bRedraw) |
This function will make DataTables recalculate(重新计算) the column sizes |
fnClearTable(bRedraw) |
Quickly and simply clear a table |
fnClose(nTr) → {int} |
The exact opposite of 'opening' a row, this function will close any rows which are currently 'open'. |
fnDeleteRow(mTarget, fnCallBack, bRedraw) → {array} |
Remove a row for the table |
fnDestroy(bRemove) |
Completely remove the table from the DOM |
fnDraw(bComplete) |
Redraw the table |
fnFilter(sInput, iColumn, bRegex, bSmart, bShowGlobal, bCaseInsensitive) |
Filter the input based on data |
fnGetData(mRow, iCol) → {array|object|string} |
Get the data for the whole table, an individual row or an individual cell based on the provided parameters. |
fnGetNodes(iRow) → {array|node} |
Get an array of the TR nodes that are used in the table's body. |
fnGetPosition(nNode) → {int} |
Get the array indexes of a particular cell from it's DOM element and column index including hidden columns |
fnIsOpen(nTr) → {boolean} |
Check to see if a row is 'open' or not. |
fnOpen(nTr, mHtml, sClass) → {node} |
This function will place a new row directly after a row which is currently on display on the page, with the HTML contents that is passed into the function. |
fnPageChange(mAction, bRedraw) mAction :string | int Paging action to take: "first", "previous", "next" or "last" or page number to jump to (integer), note that page 0 is the first page. |
Change the pagination - provides the internal logic for pagination in a simple API function |
fnSetColumnVis(iCol, bShow, bRedraw) |
Show a particular column |
fnSettings() → {object} |
Get the settings for a particular table for external manipulation |
fnSort(iCol) |
Sort the table by a particular column |
fnSortListener(nNode, iColumn, fnCallback) |
Attach a sort listener to an element for a given column |
fnUpdate(mData, mRow, iColumn, bRedraw, bAction) → {int} |
Update a table cell or row - this method will accept either a single value to update the cell with, an array of values with one element for each column or an object in the same format as the original data source. |
fnVersionCheck(sVersion) → {boolean} |
Provide a common method for plug-ins to check the version of DataTables being used, in order to ensure compatibility. |
11个事件:
destroy |
Destroy event, fired when the DataTable is destroyed by calling fnDestroy or passing the bDestroy:true parameter in the initialisation object. |
draw |
Draw event, fired whenever the table is redrawn on the page, at the same point as fnDrawCallback |
filter |
Filter event, fired when the filtering applied to the table (using the build in global global filter, or column filters) is altered. |
init |
DataTables initialisation complete event, fired when the table is fully drawn, including Ajax data loaded, if Ajax data is required. |
page |
Page change event, fired when the paging of the table is altered. |
processing |
Processing event, fired when DataTables is doing some kind of processing (be it, sort, filter or anything else). |
sort |
Sort event, fired when the sorting applied to the table is altered |
stateLoaded |
State loaded event, fired when state has been loaded from stored data and the settings object has been modified by the loaded data. |
stateLoadParams |
State load event, fired when the table is loading state from the stored data, but prior to the settings object being modified by the saved state - allowing modification of the saved state is required or loading of state for a plug-in |
stateSaveParams |
State save event, fired when the table has changed state a new state save is required. |
xhr |
Ajax (XHR) event, fired whenever an Ajax request is completed from a request to made to the server for new data |
接下来在defaults命名空间下包含三个命名空间columns,oLanguage,oSearch,以及58个static properties(静态选项),主要用于初始化 的,给几个重要的看一下。
aaData :array |
An array of data to use for the table, passed in at initialisation which will be used in preference to any data which is already in the DOM(就是给一些初始化数据) |
aaSorting :array |
You can define which column(s) the sort is performed upon, and the sorting direction, with this variable(初始化时选择排序的对象,如何排序,例如 |
aLengthMenu :array |
This parameter allows you to readily specify the entries in the length drop down menu that DataTables shows when pagination is enabled.(就是显示每页多少项,例如 |
bJQueryUI :boolean |
Enable jQuery UI ThemeRoller support(但是需要加一些文件,目前正在研究中) |
bStateSave :boolean |
Enable or disable state saving. When enabled a cookie will be used to save table display information such as pagination information, display length, filtering and sorting.(这个功能挺有用的) |
fnDrawCallback :function |
This function is called on every 'draw' event, and allows you to dynamically modify any aspect you want about the created DOM |
fnHeaderCallback :function |
This function is called on every 'draw' event, and allows you to dynamically modify the header row. |
fnRowCallback :function |
This function allows you to 'post process' each row after it have been generated for each table draw, but before it is rendered on screen. |
在defaults命名空间下的columns命名空间下又有21个static properties(静态选项),选几个重要的看一下:
aDataSort :array |
Allows a column's sorting to take multiple columns into account when doing a sort.(多项配合排序时有用) |
asSorting :array |
You can control the default sorting direction, and even alter the behaviour of the sort handler |
bSearchable :boolean,bSortable :boolean, bVisible :boolean |
这三个都差不多,看变量名就应该知道它们的意思了。 |
mData :string|int|function|null |
This property can be used to read data from any JSON data source property, including deeply nested objects / properties. |
mRender :string|int|function|null |
和上面一个差不多,我觉得都是非常重要的函数,如果我要在表格中插入一些标签的,比如input,a,button等,就会用到,而且挺方便的。 |
sClass :string,sName :string,sTitle :string,sWidth :string |
基础的东西,sClass为每个td设置一个class,sName:只能在dataTable服务端使用,sTitle就是表格header,swidth:调节每个td宽度 |
在defaults命名空间下的oLanguage,oSearch命名空间下的变量,命名空间就不说了。
在models命名空间下又有5个namespace,分别是ext,oColumn,oRow,oSearch,oSettings。如果有人也在看datatable的doc的话, 我非常希望有人能具体的跟我说说这个models命名空间有什么作用,我只是有一个模糊的概念。
在oApi命名空间下(Reference to internal functions for use by plug-in developers)是为了方便进行二次开发用的,有85个static methods,涵盖了defaults命名空间里所有的函数。
ext命名空间由models命名空间下的ext继承了,所以所有内容都在models/ext下。
看乱了吧,说实话我也乱了,然后我就总结了一些,画了一个思维导图
好了,这样算是大体上看了一遍datatable的doc,当然我们只是初步的看了一下,如果要进行比较深入的二次开发,那models,ext,oApi这三个命名空间肯定还要深入的研究,但是我觉得一般的表格操作都可以了。那接下来我会看看datatable下的example,extra,多看看范例,实践一下,然后总结一下,可能新手在刚开始入门的时候会遇到下载下来的datatable各个文件夹都有哪些东西,如果开发需要引用哪些东西,其实有个思绪了,自己就可以慢慢的去研究,去开发。那我也会在下一篇说一下,好了,先就这样吧,接下来再继续深入。
以上全部都属个人原创,请大家转载的时候附上原创链接: http://www.cnblogs.com/tonylp
相关推荐
在本笔记中,我们将深入探讨其关键对象及其作用。 首先,我们有 .NET 数据提供程序,包括 SQL Client .NET Data Provider 和 Ole DB .NET Data Provider。SQL Client 专门用于与 SQL Server 7 及以上版本的数据库...
本学习笔记旨在帮助进阶MIS(管理信息系统)系统学习者深入理解ADO.NET的核心概念、架构和使用方法。 1. **ADO.NET概述** ADO.NET是一个数据访问技术,它通过组件化的方式支持离线数据处理,允许应用程序与数据库...
【QTP 学习笔记(原创)】 QTP(QuickTest Professional)是一款自动化测试工具,由HP公司开发,主要用于功能测试和回归测试。本笔记主要记录了QTP 10.0的学习步骤,旨在帮助初学者掌握其基本操作和参数化技术。 1...
【C#学习笔记--关于C#学习的笔记】 在学习C#编程语言的过程中,数据库连接是必不可少的一部分。这里我们讨论如何连接到SQLExpress版本的数据库。在C#中,使用SqlConnection对象来创建数据库连接,例如: ```csharp...
【VC#学习笔记仅供参考】 本笔记主要涵盖了ASP.NET应用程序的开发知识,特别是针对网页设计和数据库访问技术。在学习过程中,我们将逐步了解如何构建信息浏览页面,并深入探讨各种Web服务器控件的使用。 首先,...
【QTP 学习笔记】 QuickTest Professional(QTP)是一款自动化测试工具,由HP公司(现为Micro Focus)开发,主要用于功能和回归测试。它支持多种应用程序类型,如Web、桌面、移动等。以下是对QTP中的三个关键知识点...
### ASP.NET编程学习笔记知识点详解 #### 一、ADO.NET深入理解 ##### 1.1 ADO.NET的理解和使用 **1.1.1 什么是ADO.NET** ADO.NET(ActiveX Data Objects .NET)是一种用于访问数据库和其他数据源的数据访问技术...
### ADO.NET简要操作学习笔记 #### 一、ADO.NET简介 ADO.NET(ActiveX Data Objects .NET)是Microsoft为.NET框架设计的一组数据访问技术。它提供了一种高效且灵活的方式,使得应用程序能够与各种类型的数据源进行...
本学习笔记将深入探讨ADO.NET的主要组件、工作原理以及实际应用。 1. **DataSet** `DataSet`是ADO.NET中的一个离线数据容器,它可以存储来自多个数据源的数据,并允许在不与数据库保持连接的情况下进行数据操作。`...
### VS2005数据集学习笔记 #### 一、创建Windows应用程序并添加数据库 **第一步:创建Windows应用程序** - 打开Visual Studio 2005 (简称VS2005),选择“新建”->“项目”,创建一个新的Windows应用程序项目。 **...
除了基本的插入、更新、删除操作外,还可以利用DataTable提供的方法进行数据的添加、删除、修改等操作,这些操作可以独立于数据库进行,提高了数据操作的效率和灵活性。 #### 4. **资源管理的改进** - **ADO**: ...
### 良葛格JSF学习笔记知识点概览 #### 一、JavaServer Faces (JSF) 概述 **1.1 JSF的历史与发展** - **发布日期**:JavaServer Faces (简称JSF) 作为一种Java Web应用程序的标准组件框架,于2004年3月正式发布...
一、学习笔记 这部分内容可能包含了对QTP基础概念的解析,例如理解自动录制和回放机制,学习如何通过QTP识别和操作对象,以及如何利用它的智能识别技术来处理对象的动态变化。笔记中还可能讲解了测试步骤、测试动作...
【C#学习笔记】 C#(读作"C sharp")是一种面向对象的编程语言,由微软公司开发,主要用于构建Windows应用程序、Web应用以及移动应用。它具有简洁、类型安全、性能高效等特点,是.NET框架的核心语言。这篇学习笔记...
2. 开箱即用的组件:jspx提供了一系列强大且实用的组件,如DataTable、ListTable、Validators和Captcha,这些组件能满足大部分常见的Web应用需求。 3. 声明式编程:通过Java API与HTML中的声明式控件交互是jspx框架...
### Extjs 学习笔记之九:数据模型(上) #### 概述 本文将深入探讨Extjs框架中至关重要的组成部分——数据模型。数据模型在Extjs中扮演着核心角色,它不仅为开发者提供了强大的数据处理能力,还极大地简化了前端与...
本笔记将深入探讨ADO.NET的核心组件、数据连接、数据命令、数据适配器、数据集和数据读者,以及如何使用它们来构建数据库应用程序。 **1. ADO.NET 的核心组件** - **Connection对象**:这是与数据库建立连接的基础...