`
扬州老鬼
  • 浏览: 305840 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

datatable 用法(1)

阅读更多
    这两天基于struts2的web项目需要报表排序功能,上网找了一些jquery的插件,找到了一个datatable。搞了两天,弄出个样子。但是导出功能不满足客户需求。所以暂时将该功能搁置了。自己在其中学了不少东西,现在整理整理。
    开始,我的想法是通过ajax与数据库进行交换,进行排序。页面的代码。如下:
function sortData(){
	if (oTable == null) {
			$("#exportTable").show();  
			oTable =  $('#exportTable').dataTable( {
				"aaSorting": [[4, 'desc']],
			    "bProcessing": true,       //加载数据时显示正在加载信息 
			    "bServerSide": true,      //指定从服务器端获取数据
			    "sAjaxSource": "" , //获取数据的ajax方法的URL
			    "fnServerData":retrieveData //与后台交互获取数据的处理函数   
			    
			} );
		 }	
	oTable.fnDraw();   
}
//函数的参数是固定,不能更改。
function retrieveData( sSource, aoData, fnCallback ) {   
    //查询条件称加入参数数组   
    var year =document.getElementById('year').value;
    var month =document.getElementById('month').value;
    $.ajax( {   
        type: "POST",    
        //contentType: "application/json",   //这段代码不要加,我时延的是否后台会接受不到数据
        url: sSource, 
        dataType:"json",
        data:"jsonparam="+JSON.stringify(aoData)+"&year="+year+"&month="+month, //以json格式传递(struts2后台还是以string类型接受),year和month直接作为参数传递。
        success: function(data) { 
           $("#url_sortdata").val(data.aaData);
            fnCallback(data); //服务器端返回的对象的returnObject部分是要求的格式   
        }   
    });  
} 

jsp的页面元素
必须要有[table thead (包含th) tbody ](tfoot随意)
	<table id="exportTable" width="100%" align='center'>
					<thead>
						<tr>
							<th  width ='10%' align='center'   ></th>
<th  width ='10%' align='center'  ></th>
							<th  width ='10%' align='center'   ></th>
							<th  width ='10%' align='center'   ></th>
							<th  width ='10%' align='center'  ></th>
							<th  width ='10%' align='center'  ></th>
							<th  width ='10%' align='center'   ></th>
							<th  width ='10%' align='center' ></th>
						</tr>
					</thead>
					<tbody  align='center' style="line-height: 18px;border: 1px solid  #97bbdc;" >
					
					</tbody>
					<tfoot>
						<tr>
							<th  width ='10%' align='center'  ></th>
							<th  width ='10%' align='center'  ></th>
							<th  width ='10%' align='center'   ></th>
							<th  width ='10%' align='center'   ></th>
							<th  width ='10%' align='center'  ></th>
							<th  width ='10%' align='center'   ></th>
							<th  width ='10%' align='center'   ></th>
							<th  width ='10%' align='center'   ></th>
						</tr>
					</tfoot>
				</table>



后台的ajax方法:
public String sortMonthData() {
		HttpServletRequest request = ServletActionContext.getRequest();
		HttpServletResponse response = ServletActionContext.getResponse();
		JSONArray jsonobj = JSONArray.fromObject(jsonparam);
		Object sEcho = (JSONObject.fromObject(jsonobj.get(0)).get("value"));//这里我只是测验将sEcho取出
		ptp_list = 查询数据库获取的数据
         	//将查询内容数据,封装成JSONArray的数据对象.(这里还可以使用二维数组,反正需要注意页面接受到的数据格式是[[1,2,3,5],[1,2,3,5]])
		JSONArray jsonDataArray = new JSONArray() ;
		Collection map = null;
		for (int i = 0; i < ptp_list.size(); i++) {
			map =  ptp_list.get(i).values();
			jsonDataArray.add(map);
		}
		//JSON对象,封装datatable使用到页面参数,[color=red]这几个参数是必须要[/color]的。
		JSONObject returnjobj =  new  JSONObject();
		returnjobj.put("sEcho", sEcho);
		returnjobj.put("iTotalRecords", "1000");
		returnjobj.put("iTotalDisplayRecords", "1000");
		returnjobj.put("aaData",jsonDataArray);
		//输出ajax返回值。
		try {
			response.getWriter().print(returnjobj.toString());
			response.flushBuffer();
		}catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				response.getWriter().close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return null;
	}


以上,是我通过ajax进行交互的例子。
不过由于跟数据库交互的太多,自我推翻。
分享到:
评论

相关推荐

    VB.NET的DataTable常用方法总结

    使用`Merge`方法可以将两个`DataTable`合并成一个,其中所有列都会被添加到目标表中,而源表的数据会附加到目标表现有数据之后。 ```vb.net DataTable a = ...; DataTable b = ...; a.Merge(b); ``` #### 八、计算...

    asp.net中DataTable的用法

    ### ASP.NET中DataTable的使用详解 #### 一、概述 在ASP.NET开发中,`DataTable`是处理数据的一种非常强大的工具。它提供了类似数据库表的数据结构,并且支持各种操作如添加、删除、筛选和排序等。本文将详细介绍...

    把DataReader转换成DataTable的方法

    - 如果数据表结构固定且已知,可以直接定义DataTable的列结构,无需使用`GetSchemaTable()`方法。 通过以上步骤和代码实现,我们可以有效地将DataReader转换为DataTable,以便于后续的数据处理和展示。

    datatable用法 demo

    这个"datatable用法 demo"是针对`Datatable`库的一个实例教程,旨在帮助开发者了解如何在实际项目中添加列和行。下面将详细阐述`Datatable`的核心概念、添加列和行的操作方法,以及如何通过实践应用这些知识。 首先...

    datatable使用详解

    Datatable 使用详解 Datatable 是 ADO.NET 中的一个重要组件,用于存储和管理内存中的数据。它可以独立于数据库存在,数据可以来自多个源,包括数据库、XML 等。Datatable 提供了灵活的数据存储和管理方式,支持...

    datatable使用方法

    本教程将深入探讨`DataTable`的使用方法,以`SpringBoot`和`DataTables Grid`为例,帮助你理解和实践其核心功能。 ### DataTables 的基本使用 `DataTables` 是一个基于jQuery的插件,能够将普通的HTML表格转变为...

    Jquery DataTable使用经典案例

    处理方法需要返回JSON格式的数据,以供DataTable和Editor使用。 总的来说,Jquery DataTable结合.Net后端服务提供了丰富的表格功能,包括但不限于数据检索、排序、过滤、分页和编辑。EditorGenerator则增强了表格的...

    向DataTable动态添加统计行

    这里值得注意的是,虽然`Type.GetType`方法可以实现类型获取的功能,但更常见且推荐的做法是直接使用类型本身,例如: ```csharp dc = tblDatas.Columns.Add("Num", typeof(int)); ``` 这样做更加简洁明了,也避免了...

    DataTable使用详解[归类].pdf

    1. 使用 DataTable 构造函数创建 DataTable 对象,例如:DataTable NewTable = new DataTable(TableName); 2. 使用 DataAdapter 对象的 Fill 方法或 FillSchema 方法在 DataSet 中创建 DataTable,例如: ```csharp ...

    C# 连接各种数据库返回DataTable的方法

    本篇文章将详细讲解如何使用C#语言连接不同的数据库,并通过执行SQL语句获取DataTable对象,其中包括Access、SQL Server、Oracle以及MySQL四种常见数据库的连接方法。 1. **C#与Access数据库连接** Access数据库...

    matlab开发-DataTable

    2. **属性和方法**:DataTable对象拥有丰富的属性和方法,可以方便地进行数据查询、筛选、排序和计算。例如,`find`函数用于查找满足特定条件的行,`sort`用于对数据进行排序,`sum`、`mean`等则用于统计计算。 3. ...

    C# datatable删除多行

    总结起来,C#中删除DataTable多行的方法主要包括:使用Delete()方法标记行并随后调用AcceptChanges(),或者直接使用RemoveAt()方法删除行。在处理大量数据时,应考虑性能优化,如先收集待删除行的索引,然后按降序...

    C# DataTable的詳細用法.docx

    C# DataTable 的詳細用法 DataTable 是 C# 中的一个重要组件,用于存储和操作数据。在实际项目中,DataTable 经常被用来存储和处理大量数据。如果使用得当,DataTable 不仅能使程序简洁实用,而且能够提高性能,...

    datatable赋值,初学者适用

    如果需要一次性添加多行数据,可以使用`Load`方法,配合`DataSet`和`DataTableAdapter`来读取数据库中的数据。例如,从SQL Server获取数据: ```csharp using (SqlConnection connection = new SqlConnection...

    echarts和dataTable的结合使用查询数据

    3. **使用`echarts`绘制图表**:当`dataTable`中的数据发生变化时,我们需要更新`echarts`的配置,将新选择的数据传递给`echarts`的`setOption`方法,重新绘制图表。 4. **iframe通信**:如果`echarts`和`dataTable...

    DataTable的常见使用Demo

    下面将详细介绍`DataTable`的常见使用、自定义方法、`Select`方法的四种重载,以及在项目中如何进行筛选和排序。 首先,让我们了解`DataTable`的基本用法。`DataTable`对象通常在内存中创建和管理,可以通过`...

    DataTable技术全面讲解

    1. 插入数据:使用`Rows.Add()`方法可以向DataTable中添加新的数据行。 2. 更新数据:修改DataRow的字段值,然后调用`AcceptChanges()`方法提交更改。 3. 删除数据:通过`Rows.Remove()`或设置`RowState`为Deleted来...

    DataTable,DataView和DataGrid用法教程:DataTable,DataView和DataGrid中一些容易混淆的概念,详细讲解了它的区别和用法。

    例如,你可以创建一个DataTable,然后通过AddRow方法添加数据行,或者使用Select方法来筛选满足特定条件的行。 `DataView`则是DataTable的一个视图,它提供了对DataTable数据的不同展示方式。DataView允许动态地...

    总结DataTable,DataSet的使用方法

    总结DataTable,DataSet的使用方法,对Datagirdview的数据加载。

    C# 维数组转换为DataTable 的三个方法

    ### C# 中维数组转换为 DataTable 的三种方法 在 C# 开发中,经常会遇到需要将数据从一种格式转换到另一种格式的需求,特别是在处理 Excel 数据时。本文将介绍如何使用 C# 将多维数组转换成 `DataTable`,这对于...

Global site tag (gtag.js) - Google Analytics