分享在MVC3.0中使用jQuery DataTable 插件

  前不久在网络上看见一个很不错的jQuery的DataTable表格插件。后来发现在MVC中使用该插件的文章并不多。本文将介绍在MVC3.0如何使用该插件。在介绍该插件之前先简单介绍一下,推荐该插件的原因。在项目中我使用jqgrid比较多。但是发现当进行样式调整时jqgrid的样式常常会让美工头疼。而datatable插件却是一个轻量级的jQuery插件。当我通过浏览器查看该js插件rander后的源码。发现只是一个简单的html table,非常简洁。那么在没有特殊要求的情况下使用这个插件,开发人员js脚本的可维护性将得到简化,美工的样式调整也会变得更轻松!下面介绍如何在MVC3.0中使用DataTable jQuery插件。

  一、DataTable JS 核心脚本文件、 CSS文件及图片

  请到这里下载最新的版本的DataTable插件。该插件内附上了具体的官方DEMO。读者可自行阅读,这里只介绍这个插件的核心文件

  1.jquery.dataTables.min.js

  压缩后的核心js文件

  2.官方提供的CSS文件

  demo_page.css 、demo_table.css、 demo_table_jui.css

  可以自定义CSS样式来满足客户需求。

  3.图片文件

  包含一个Images文件夹,请将该文件请全部拷贝到MVC工程的指定目录,截图如下:

  二、DataTable 客户端HTML及JS代码

  html代码:

<table id="myDataTable" class="display">

<thead>

<tr>

<th>

标识

</th>

<th>

公司名称

</th>

<th>

地址

</th>

<th>

城市

</th>

</tr>

</thead>

<tbody>

</tbody>

</table>

<input type="button" id="btnTest" value="根据条件重新响应后台Ajax" />

  js代:

<script type="text/javascript">

var tbl;

$(function () {

tbl = $('#myDataTable').dataTable({

"bServerSide": true,

"sAjaxSource": "Home/AjaxHandler", //mvc后台ajax调用接口。

'bPaginate': true, //是否分页。

"bProcessing": true, //当datatable
获取数据时候是否显示正在处理提示信息。

'bFilter': false, //是否使用内置的过滤功能。

'bLengthChange': true, //是否允许用户自定义每页显示条数。

'sPaginationType': 'full_numbers', //分页样式

"aoColumns": [

{ "sName": "ID",

"bSearchable": false,

"bSortable": false,

"fnRender": function (oObj) {

return '<a href=\"Details/' + oObj.aData[0] + '\">View</a>';

} //自定义列的样式

},

{ "sName": "COMPANY_NAME" },

{ "sName": "ADDRESS" },

{ "sName": "TOWN" }

]

});

//Ajax重新load控件数据。(server端)

$("#btnTest").click(function () {

var oSettings = tbl.fnSettings();

oSettings.sAjaxSource = "Home/AjaxHandler2";

alert(oSettings.sAjaxSource);

tbl.fnClearTable(0);

tbl.fnDraw();

});

});

</script>

  三、 MVC 服务端AJAX相关代码

  DataTable Ajax响应参数类:

public class DataTableParameter

{

/// <summary>

/// DataTable请求服务器端次数

/// </summary>

public string sEcho { get; set; }

/// <summary>

/// 过滤文本

/// </summary>

public string sSearch { get; set; }

/// <summary>

/// 每页显示的数量

/// </summary>

public int iDisplayLength { get; set; }

/// <summary>

/// 分页时每页跨度数量

/// </summary>

public int iDisplayStart { get; set; }

/// <summary>

/// 列数

/// </summary>

public int iColumns { get; set; }

/// <summary>

/// 排序列的数量

/// </summary>

public int iSortingCols { get; set; }

/// <summary>

/// 逗号分割所
有的列

/// </summary>

public string sColumns { get; set; }

}

  接着使用MVC的 ModelBinder将Action参数实体化:

public JsonResult AjaxHandler(DataTableParameter param)

{

return Json(new

{

sEcho = param.sEcho,

iTotalRecords = 50,

iTotalDisplayRecords = 50,

aaData = new List<object> {

new string[] {"1","公司信息","地址信息","城市信息"},

new string[] {"1","公司信息","地址信息","城市信息"},

new string[] {"1","公司信息","地址信息","城市信息"},

new string[] {"1","公司信息","地址信息","城市信息"},

new string[] {"1","公司信息","地址信息","城市信息"},

new string[] {"1","公司信息","地址信息","城市信息"},

new string[] {"1","公司信息","地址信息","城市信息"},

new string[] {"1","公司信息","地址信息","城市信息"},

new string[] {"1","公司信息","地址信息","城市信息"},

new string[]{"1","公司信息","地址信息","城市信息"}

}

}, JsonRequestBehavior.AllowGet);

}

  四、程序截图

  生成html代码如下:

<table id="myDataTable" class="display">

<thead>

<tr>

<th style="w
idth: 239px;" class="sorting_disabled">

标识

</th>

<th style="width: 366px;" class="sorting

时间: 2024-08-29 07:36:29

分享在MVC3.0中使用jQuery DataTable 插件的相关文章

一起谈.NET技术,分享在MVC3.0中使用jQuery DataTable 插件

前不久在网络上看见一个很不错的jQuery的DataTable表格插件.后来发现在MVC中使用该插件的文章并不多.本文将介绍在MVC3.0如何使用该插件.在介绍该插件之前先简单介绍一下,推荐该插件的原因.在项目中我使用jqgrid比较多.但是发现当进行样式调整时jqgrid的样式常常会让美工头疼.而datatable插件却是一个轻量级的jQuery插件.当我通过浏览器查看该js插件rander后的源码.发现只是一个简单的html table,非常简洁.那么在没有特殊要求的情况下使用这个插件,开发

分享在MVC3.0中使用jQue“.NET研究”ry DataTable 插件

前不久在网络上看见一个很不错的jQuery的DataTable表格插件.后来发现在MVC中使用该插件的文章并不多.本文将介绍在MVC3.0如何使用该插件.在介绍该插件之前先简单介绍一下,推荐该插件的原因.在项目中我使用jqgrid比较多.但是发现当进行样式调整时jqgrid的样式常常会让美工头疼.而datatable插件却是一个轻量级的jQuery插件.当我通过浏览器查看该js插件rander后的源码.发现只是一个简单的html table,非常简洁.那么在没有特殊要求的情况下使用这个插件,开发

分享一个自己动手写的jQuery分页插件_jquery

工作需要一个JS分页插件,心想自己动手写一个吧,一来上网找一个不清楚代码结构的,出了问题难以解决,而且网上的插件所包含的功能太多,有些根本用不到,就没必要加载那段JS,二来想起没写过jQuery插件,就当练一下手了,好了,先看结果: http://demo.jb51.net/js/2014/EasyPage/  简单说一下这个插件所要实现的功能  后台将查询出来的内容全部显示到页面上,这个插件要控制这些内容,使其一页一页显示.有上一页,下一页,首页,尾页的功能.在第一页时,上一页,首页要隐藏.在

[分享]eclipse 3.0 中jre设置的小错误导致在java文件中连接数据库失败

错误|连接数据库 java.lang.ClassNotFoundException: org.gjt.mm.mysq.Driver这也许是最普遍的错误了,一般解决方法就是检查数据库驱动是否安装到jdk目录下 (如:将mysql-connector-1-3-1.jar文件copy到jdk目录下的lib文件夹中) classpath是否设置了驱动的目录 (CLASSPATH=.;D:\j2sdk\lib\dt.jar;D:\j2sdk\lib\tools.jar;D:\j2sdk\lib\mysql

AspNet中使用JQuery boxy插件的确认框

  Boxy是一个基于JQuery的弹出层插件,它有相对漂亮的外观,功能齐全,支持iframe,支持模式窗口但相对于同样的弹出层插件BlockUI它明显笨重,但使用不那么方便. 兼容浏览器:IE6+/Firefox/Google Chrome JQuery有不少弹出框的插件,boxy应该算的上是功能和效果都还不错的一款了.先来看一张效果图吧. 在Web开发中经常会使用到Alert和Confirm弹出框,在Asp.Net中的删除按钮上我们常常会加上删除的确认提示,以避免误删除数据,就像上面图片那样

AspNet中使用JQuery boxy插件的确认框_jquery

JQuery有不少弹出框的插件,boxy应该算的上是功能和效果都还不错的一款了.先来看一张效果图吧. 在Web开发中经常会使用到Alert和Confirm弹出框,在Asp.Net中的删除按钮上我们常常会加上删除的确认提示,以避免误删除数据,就像上面图片那样.我们一般会写出这样的代码. <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>

Jquery datatable插件怎么设置每列的对齐方式,默认是居左。

问题描述 jquerydatatable这个表格挺好用,目前发现一个问题,列都是居左的,我想设置某列居中或者居右就设置不了,请问该怎么设置. 解决方案 解决方案二:让第一列和第二列居中显示:"createdRow":function(row,data,dataIndex){$(row).children('td').eq(0).attr('style','text-align:center;')$(row).children('td').eq(1).attr('style','text

再次分享18个非常棒的jQuery表格插件_jquery

1.DataTables在线例子 2.tablesorter 在线例子 3.uiTableFilter在线例子 4.columnHover在线例子 5.Scrollable HTML在线例子 6.columnManager 在线例子 7.Flexigrid 在线例子 8.Table Drag and Drop 在线例子 9.HeatColor 在线例子 10.JQTreeTable 在线例子 11.FireScope Grid在线例子 12.Ingrid在线例子 13.Animated Sort

请高手解决一下在MyEcplise6.0中Jquery的问题

问题描述 我刚在MyEcplise6.0中安装了spket插件,也配置好了环境.在环境中,托JS文件使用时,老是提示版本不对,手打上去效果也不出.提示:ThisoperationisnotsupportedinthecurretnversionofMyEclipse.很犀利的问题,不知道是哪没配置好还是. 解决方案 解决方案二:当前MyEclipse的版本不支持这个操作.解决方案三:换个高点版本的myeclipse解决方案四:尝试更换高版本的IDE.解决方案五:Thisoperationisno