再添加一个功能,对各个列进行过滤。
添加js代码:
function fnCreateSelect( aData )
{
var r='<select><option value=""></option>', i, iLen=aData.length;
for ( i=0 ; i<iLen ; i++ )
{
r += '<option value="'+aData[i]+'">'+aData[i]+'</option>';
}
return r+'</select>';
}
(function($) {
/*
* Function: fnGetColumnData
* Purpose: Return an array of table values from a particular column.
* Returns: array string: 1d data array
* Inputs: object:oSettings - dataTable settings object. This is always the last argument past to the function
* int:iColumn - the id of the column to extract the data from
* bool:bUnique - optional - if set to false duplicated values are not filtered out
* bool:bFiltered - optional - if set to false all the table data is used (not only the filtered)
* bool:bIgnoreEmpty - optional - if set to false empty values are not filtered from the result array
* Author: Benedikt Forchhammer <b.forchhammer /AT\ mind2.de>
*/
$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
// check that we have a column id
if ( typeof iColumn == "undefined" ) return new Array();
// by default we only wany unique data
if ( typeof bUnique == "undefined" ) bUnique = true;
// by default we do want to only look at filtered data
if ( typeof bFiltered == "undefined" ) bFiltered = true;
// by default we do not wany to include empty values
if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;
// list of rows which we're going to loop through
var aiRows;
// use only filtered rows
if (bFiltered == true) aiRows = oSettings.aiDisplay;
// use all rows
else aiRows = oSettings.aiDisplayMaster; // all row numbers
// set up data array
var asResultData = new Array();
for (var i=0,c=aiRows.length; i<c; i++) {
iRow = aiRows[i];
var aData = this.fnGetData(iRow);
var sValue = aData[iColumn];
// ignore empty values?
if (bIgnoreEmpty == true && sValue.length == 0) continue;
// ignore unique values?
else if (bUnique == true && jQuery.inArray(sValue, asResultData) > -1) continue;
// else push the value onto the result data array
else asResultData.push(sValue);
}
return asResultData;
}}(jQuery));
在前面博客中的原来的 sortData()方法中添加js:
$("tfoot th").each( function ( i ) {
this.innerHTML = fnCreateSelect( oTable.fnGetColumnData(i) );
$('select', this).change( function () {
oTable.fnFilter( $(this).val(), i );
} );
} );
在页面table中添加一个:
<tfoot>
<tr>
<th width ='10%' align='center' class='w_01' ></th>
<th width ='10%' align='center' class='w_01' ></th>
<th width ='10%' align='center' class='w_01' ></th>
<th width ='10%' align='center' class='w_01' ></th>
<th width ='10%' align='center' class='w_01' ></th>
<th width ='10%' align='center' class='w_01' ></th>
<th width ='10%' align='center' class='w_01' ></th>
<th width ='10%' align='center' class='w_01' ></th>
</tr>
</tfoot>
最后别忘了,引入datatable的js:
jquery.dataTables.js,
jquery.dataTables.css//是他自带css,要是想改式样的,就直接修改里面的css。省省不少使呢。。。。
还有,最好的学习方法是直接看官方文档,不过英文的,很难消化。
以上,完毕。
分享到:
相关推荐
使用`Merge`方法可以将两个`DataTable`合并成一个,其中所有列都会被添加到目标表中,而源表的数据会附加到目标表现有数据之后。 ```vb.net DataTable a = ...; DataTable b = ...; a.Merge(b); ``` #### 八、计算...
### ASP.NET中DataTable的使用详解 #### 一、概述 在ASP.NET开发中,`DataTable`是处理数据的一种非常强大的工具。它提供了类似数据库表的数据结构,并且支持各种操作如添加、删除、筛选和排序等。本文将详细介绍...
3. **使用GetSchemaTable方法获取列信息**:利用DataReader的`GetSchemaTable()`方法来获取表结构信息,包括列名、数据类型等。 4. **构建DataTable的列结构**:根据获取的列信息添加列到DataTable中。 5. **填充...
这个"datatable用法 demo"是针对`Datatable`库的一个实例教程,旨在帮助开发者了解如何在实际项目中添加列和行。下面将详细阐述`Datatable`的核心概念、添加列和行的操作方法,以及如何通过实践应用这些知识。 首先...
Datatable 使用详解 Datatable 是 ADO.NET 中的一个重要组件,用于存储和管理内存中的数据。它可以独立于数据库存在,数据可以来自多个源,包括数据库、XML 等。Datatable 提供了灵活的数据存储和管理方式,支持...
本教程将深入探讨`DataTable`的使用方法,以`SpringBoot`和`DataTables Grid`为例,帮助你理解和实践其核心功能。 ### DataTables 的基本使用 `DataTables` 是一个基于jQuery的插件,能够将普通的HTML表格转变为...
这里值得注意的是,虽然`Type.GetType`方法可以实现类型获取的功能,但更常见且推荐的做法是直接使用类型本身,例如: ```csharp dc = tblDatas.Columns.Add("Num", typeof(int)); ``` 这样做更加简洁明了,也避免了...
处理方法需要返回JSON格式的数据,以供DataTable和Editor使用。 总的来说,Jquery DataTable结合.Net后端服务提供了丰富的表格功能,包括但不限于数据检索、排序、过滤、分页和编辑。EditorGenerator则增强了表格的...
本篇文章将详细讲解如何使用C#语言连接不同的数据库,并通过执行SQL语句获取DataTable对象,其中包括Access、SQL Server、Oracle以及MySQL四种常见数据库的连接方法。 1. **C#与Access数据库连接** Access数据库...
创建 DataTable 的方法有多种,可以使用 DataTable 构造函数,或者使用 DataAdapter 对象的 Fill 方法或 FillSchema 方法在 DataSet 中创建。在创建 DataTable 时,不需要为 TableName 属性提供值,可以在其他时间...
总结起来,C#中删除DataTable多行的方法主要包括:使用Delete()方法标记行并随后调用AcceptChanges(),或者直接使用RemoveAt()方法删除行。在处理大量数据时,应考虑性能优化,如先收集待删除行的索引,然后按降序...
3. **使用`echarts`绘制图表**:当`dataTable`中的数据发生变化时,我们需要更新`echarts`的配置,将新选择的数据传递给`echarts`的`setOption`方法,重新绘制图表。 4. **iframe通信**:如果`echarts`和`dataTable...
C# DataTable 的詳細用法 DataTable 是 C# 中的一个重要组件,用于存储和操作数据。在实际项目中,DataTable 经常被用来存储和处理大量数据。如果使用得当,DataTable 不仅能使程序简洁实用,而且能够提高性能,...
例如,你可以创建一个DataTable,然后通过AddRow方法添加数据行,或者使用Select方法来筛选满足特定条件的行。 `DataView`则是DataTable的一个视图,它提供了对DataTable数据的不同展示方式。DataView允许动态地...
如果需要一次性添加多行数据,可以使用`Load`方法,配合`DataSet`和`DataTableAdapter`来读取数据库中的数据。例如,从SQL Server获取数据: ```csharp using (SqlConnection connection = new SqlConnection...
总结DataTable,DataSet的使用方法,对Datagirdview的数据加载。
### C# 中维数组转换为 DataTable 的三种方法 在 C# 开发中,经常会遇到需要将数据从一种格式转换到另一种格式的需求,特别是在处理 Excel 数据时。本文将介绍如何使用 C# 将多维数组转换成 `DataTable`,这对于...
1. 插入数据:使用`Rows.Add()`方法可以向DataTable中添加新的数据行。 2. 更新数据:修改DataRow的字段值,然后调用`AcceptChanges()`方法提交更改。 3. 删除数据:通过`Rows.Remove()`或设置`RowState`为Deleted来...
下面将详细介绍`DataTable`的常见使用、自定义方法、`Select`方法的四种重载,以及在项目中如何进行筛选和排序。 首先,让我们了解`DataTable`的基本用法。`DataTable`对象通常在内存中创建和管理,可以通过`...
3. **创建DataTable对象**:创建一个DataTable对象,并设置其TableName属性为提取到的表名。 4. **解析JSON数据**:使用正则表达式`(?)[^}]+(?=})`匹配JSON数组中的每个对象。这些对象代表了DataTable中的行。 5. ...