JQuery dataTable 扩展+Ajax Post,Get一些基本操作(二)

简单的小demo ,, 主要是讲如何在dataTable 中 进行 行 的编辑, 如做delete,edit ,等操作的时候  如何获取 改行的一些主要数据。

 1  <div class="col-md-12">
 2                 <div class="panel-body">
 3                     @*<div class="table-responsive">*@
 4                         <table id="tabRole" class="display responsive nowrap" border="0" cellspacing="0" width="100%">
 5                             <thead>
 6                                 <tr>
 7                                     <th><div align="center">Department</div></th>
 8                                     <th><div align="center">NAME</div></th>
 9                                     <th><div align="center">USER ID</div></th>
10                                     <th><div align="center">NRIC/FIN</div></th>
11                                     <th><div align="center">Organization</div></th>
12                                     <th><div align="center">Designation</div></th>
13                                     <th><div align="center">Role</div></th>
14                                     <th></th>
15                                     @*<th>IsDeleted</th>*@
16                                 </tr>
17                             </thead>
18                         </table>
19                         @*</div>*@
20                 </div>
21             </div>

  1 <script type="text/javascript">
  2     var url = "";
  3     $(document).ready(function () {
  4         var adminGrid = $(‘#tabRole‘).DataTable({
  5             responsive: true,
  6             "sAjaxSource": "@Url.Content("~/Admin/GetUserList")",
  7             ‘iDisplayLength‘: 10,
  8             //"sScrollX": "100%",
  9             //"sScrollXInner": "100%",
 10             //"bScrollCollapse": true,
 11             "serverSide": true,
 12             ‘bPaginate‘: true,
 13             "bLengthChange": false,
 14             "bSort": false,
 15             "bFilter": false,
 16             "oLanguage": {
 17                 "sZeroRecords": "NO Records for Table",
 18                 "sEmptyTable": "NO Records for Table",
 19             },
 20             "aoColumnDefs": [
 21                 {
 22                     "render": function (data, type, full) {
 23                         return ‘<div align="center">‘ + full.Department + ‘</div>‘;
 24                     },
 25                     "targets": 0
 26                 },
 27                 {
 28                     "render": function (data, type, full) {
 29
 30                         return ‘<div align="center"><a href="‘ + ‘@Url.Content("~/Admin/EditUser")‘ + ‘?userid=‘ + full.UserId + ‘">‘ + full.FullName + ‘</a></div>‘;
 31                     },
 32                     "targets": 1
 33                 },
 34                 {
 35                     "render": function (data, type, full) {
 36
 37                         return ‘<div align="center">‘ + full.AdId + ‘</div>‘;
 38                     },
 39                     "targets": 2
 40                 },
 41                 {
 42                     "render": function (data, type, full) {
 43
 44                         return ‘<div align="center">‘ + full.Nric + ‘</div>‘;
 45                     },
 46                     "targets": 3
 47                 },
 48                 {
 49                     "render": function (data, type, full) {
 50
 51                         return ‘<div align="center">‘ + full.AgencyId + ‘</div>‘;
 52                     },
 53                     "targets": 4
 54                 },
 55                 {
 56                     "render": function (data, type, full) {
 57
 58                         return ‘<div align="center">‘ + full.Designation + ‘</div>‘;
 59                     },
 60                     "targets": 5
 61                 },
 62                 {
 63                     "render": function (data, type, full) {
 64
 65                         return ‘<div align="center">‘ + full.RoleName + ‘</div>‘;
 66                     },
 67                     "targets": 6
 68                 },
 69             ],
 70             ‘aoColumns‘: [
 71                     { "mData": null },
 72                     { "mData": null },
 73                     { "mData": null },
 74                     { "mData": null },
 75                     { "mData": null },
 76                     { "mData": null },
 77                     { "mData": null },
 78                     { "defaultContent": "<div align=‘center‘><input id=‘btnDelete‘ class=‘btnDel btn btn-danger‘ type=‘button‘ value=‘Delete‘/></div>" },
 79             ]
 80         });
 81         $("#tabRole tbody").on(‘click‘, ‘.btnDel‘, function () {
 82             var data = adminGrid.row($(this).parents(‘tr‘)).data();
 83             var userId = data["UserId"];
 84             var AdId = data["AdId"];
 85             if (userId != null & userId != "") {
 86                 $.ajax({
 87                     type: ‘POST‘,
 88                     url: "@Url.Content("~/Admin/deleteUser")",
 89                     dataType: "json",
 90                     data: {
 91                         userId: userId,
 92                         AdId: AdId
 93                     },
 94                     success: function (data, status) {
 95                         if (data == "OK") {
 96                             $("#tabRole").DataTable().ajax.reload();
 97                         }
 98                         else if (data == "No") {
 99                             alert("delete failed");
100                         }
101                         else if (data == "Error")
102                         {
103                             alert("Do not delete own records");
104                         }
105                         else {
106                             alert(data);
107                         }
108                     }
109                 })
110             }
111             else {
112                 alert("Please click delete Again");
113             }
114         })
115     });
116
117         function Search() {
118             var userId=$(‘#AdId‘).val();
119             var Nric=$(‘#Nric‘).val();
120             var Department=$(‘#Department‘).val();
121             var FullName=$(‘#FullName‘).val();
122             if (userId == "" && Nric == "" && Department == "" && FullName == "") {
123                 $("#tabRole").DataTable().ajax.reload();
124             }
125             else
126             {
127                 $.ajax({
128                     type: ‘POST‘,
129                     url: "@Url.Content("~/Admin/SearchUser")",
130                     dataType: "json",
131                     data: {
132                         userId: userId,
133                         Nric: Nric,
134                         Department: Department,
135                         FullName: FullName
136                     },
137                     success: function (data, status)
138                     {
139                         if (data == "OK")
140                         {
141                             $("#tabRole").DataTable().ajax.reload();
142                         }
143                     }
144                 })
145             }
146         }
147
148     </script>

JavaScript Code

 1 public JsonResult deleteUser(string userId,string AdId)
 2         {
 3             if(!string.IsNullOrEmpty(userId))
 4             {
 5                 if (AdId == this.ApplicationContext.UserName)
 6                 {
 7                     return Json("Error", JsonRequestBehavior.AllowGet);
 8                 }
 9                 else
10                 {
11                     IcUsers user = this.ServiceLocator.GetService<IAppUserService>().GetUserById(userId);
12                     user.IsDeleted = userId;
13                     user.TransactionId = Guid.NewGuid().ToString();
14                     user.LastUpdatedBy = this.ApplicationContext.UserName;
15                     var result = this.ServiceLocator.GetService<IAppUserService>().DeleteUser(user);
16                     if (result)
17                     {
18                         return Json("OK", JsonRequestBehavior.AllowGet);
19                     }
20                     else
21                     {
22                         return Json("No", JsonRequestBehavior.AllowGet);
23                     }
24                 }
25             }
26             else
27             {
28                 return Json("Please click delete Again", JsonRequestBehavior.AllowGet);
29             }
30         }

JsonResult Code

感觉看似简单的 一个table,, 刚入门的时候 还是花费了很多时间和精力, 就不详细讲每个Jquery  function的作用啊。。

附带DataTable 前面 每一行 用checkbox 操作 时候 Jquery  如何取选中值代码。

 1 function del() {
 2             var UserId = "";
 3             $(‘.userCheck‘).each(function () {
 4                 if (this.checked == true) {
 5                     UserId += $(this).attr(‘value‘) + ‘,‘
 6                 }
 7             })
 8             if (UserId != "") {
 9                 if (confirm(‘@Messages.General.DeleteConfirm.Format()‘)) {
10                     $(‘#ChooseUserId‘).val(UserId);
11                 }
12                 else {
13                     return false;
14                 }
15             }
16             else {
17                 alert("@Messages.General.OperationConfirm.Format("User","Delete")");
18                 return false;
19             }
20         }

JavaScript Code

样式不是很好,,  可以自己调整。 respose:true; 这句话 大家可以参考 DataTable 官网 。 效果感觉还是很不错。

时间: 2024-10-12 03:44:00

JQuery dataTable 扩展+Ajax Post,Get一些基本操作(二)的相关文章

JQuery dataTable 扩展+Ajax Post,Get一些基本操作(一)

首先, Asp.net MVC 系列暂时没有发现封装好的 类似于web form 的datagrid, 只有一款Jquery 的dataTable , 官网地址 http://www.datatables.net, 接下来讲解一下关于自己在项目中对datatable进行扩展的一些实例.(first,Asp.net MVC have not packaging control similar the web form datagrid , and  now   i just konw Jquery

Jquery的DataTable插件 AJAX 服务器分页的的学习心得(java版)

首先得先引入对应的js 1.jquery.min.js  首先导入 2. File:        jquery.dataTables.min.js Version:     1.9.4     这是我使用的版本 这是  jsp 页面 关键的table  代码 <table id="fuck" class="table table-bordered data-table"> <thead> <tr> <span style=

springmvc + jquery datatable + ajax实现动态分页查询

网上关于jquery datatable的例子很多,但结合springmvc的例子很少,搞了2天才把这个弄明白,现在记录下来,作为学习笔记. 1.导入所需文件 (1) jquery.dataTables.css (2) jquery.js (3) jquery.dataTables.js 2.datatable.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEnc

jQuery Datatable 实用简单实例

目标: 使用jQuery Datatable构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求.同时,jQuery Datatable强大的功能支持:排序,分页,搜索等. Query Datatable能良好支持数据完全加载到本地后构建数据列表,排序.分页.搜索等功能就会自带,不需要我们去关心,在此主要说明通过后台动态的加载数据,已达到在大数据面前提高效率的效果. 1. 通过后台进行分页 2. 通过后台进行排序 3. 通过后台进行搜索 具体使用方法: 1. 首先构建我们需要的数据列表,以

jquery datatable 参数

jquery datatable 参数 DataTables(http://www.datatables.net/)应该是我到目前为止见过的,功能最强大的表格解决方案(当然,不计算其它整套框架中的table控件在内). 先把它主页上写的特性翻译罗列如下: 可变长度分页:动态过滤:多列排序,带数据类型检测功能:列宽度的智能处理:从多种数据源获取数据(DOM,js Array, ajax file, server-side returning):滚动配置属性:完整国际化支持: jquery UI T

最近在写后台管理平台,用到jQuery dataTable 一个比较实用的例子分享下

学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/2006942 1:导入包: URL:http://www.datatables.net/ 分别导入css和js文件 Html代码   <style type="text/css" title="currentStyle"> @import "css/dem

JQuery Datatable用法

原文出处:http://sgyyz.blog.51cto.com/5069360/1408251 目标: 使用jQuery Datatable构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求.同时,jQuery Datatable强大的功能支持:排序,分页,搜索等. Query Datatable能良好支持数据完全加载到本地后构建数据列表,排序.分页.搜索等功能就会自带,不需要我们去关心,在此主要说明通过后台动态的加载数据,已达到在大数据面前提高效率的效果. 1. 通过后台进行分页 2

jquery datatable使用简单示例

目标: 使用 jQuery Datatable 构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求.同时, jQuery Datatable 强大的功能支持:排序,分页,搜索等. Query Datatable 能良好支持数据完全加载到本地后构建数据列表,排序.分页.搜索等功能就会自带,不需要我们去关心,在此主要说明通过后台动态的加载数据,已达到在大数据面前提高效率的效果. 1. 通过后台进行分页 2. 通过后台进行排序 3. 通过后台进行搜索 具体使用方法: 1. 首先构建我们需要的数

利用 jQuery UI 和 Ajax 创建可定制的 Web 界面

如今,网站比以往更具可定制性,允许用户更改其空间,根据自己的喜好对其进行个性化.个性化的主页或仪表板页面(例如 iGoogle.MyYahoo! 和 MyAOL)日渐普及,大多数 Web 应用程序内甚至也整合了类似的功能.jQuery 库简化了此类复杂 JavaScript 交互的编写,随着 jQuery UI 的引入,这项功能得到了进一步的简化,该库以易于访问的 jQuery 插件的形式提供了常用用户界面类型. 本文介绍了如何利用 Ajax 和 jQuery UI 创建具有各种定制功能的高度可