JqueryDataTable的使用(.Net平臺)

来源:http://www.cnblogs.com/Txy-Net/archive/2016/12/21/DataTable01.html
-Advertisement-
Play Games

上一篇隨筆提到了MvcPager,最近用到了一款前端JQ插件 DataTable(簡稱DT),很好用。 DT是一款前端插件,和後端完全分離開,就這點來看,我就特別喜歡。 一.使用DT,需要以下支持 js:jq+jquery.dataTables.min.js 二、頁面上進行引入js,直接使用DT功能 ...


上一篇隨筆提到了MvcPager,最近用到了一款前端JQ插件------DataTable(簡稱DT),很好用。

DT是一款前端插件,和後端完全分離開,就這點來看,我就特別喜歡。

一.使用DT,需要以下支持

js:jq+jquery.dataTables.min.js

 

二、頁面上進行引入js,直接使用DT功能

前端代碼:

  1 @{
  2     Layout = null;
  3 }
  4 <!DOCTYPE html>
  5 
  6 <html>
  7 <head>
  8     <meta charset="utf-8">
  9     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 10     <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
 11     <title>用戶列表</title>
 12     <link href="~/Content/Scripts/h-ui/css/H-ui.min.css" rel="stylesheet" />
 13     <link href="~/Content/Scripts/h-ui.admin/css/H-ui.admin.css" rel="stylesheet" />
 14     <link href="~/Content/Scripts/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" />
 15 
 16     <style>
 17         .page-container {
 18             padding: 10px;
 19         }
 20 
 21         .operation {
 22             background: #EFEEF0;
 23             padding: 3px;
 24         }
 25 
 26         .search {
 27             background: #EFEEF0;
 28             padding: 5px;
 29             margin-top: 5px;
 30         }
 31 
 32         .table {
 33             margin-top: 10px;
 34         }
 35 
 36         .dataTables_info {
 37             margin-left: 5px;
 38         }
 39 
 40         #table1_info {
 41             padding: 0;
 42         }
 43 
 44         #table1_length {
 45             margin-left: 15px;
 46         }
 47     </style>
 48     <!--引入腳本解決相容性(hack技術,必須放入head中)-->
 49     <!--[if lt IE 9]>
 50     <script src="~/Content/Scripts/html5_css3/html5shiv.min.js"></script>
 51     <script src="~/Content/Scripts/html5_css3/respond.min.js"></script>
 52     <script src="~/Content/Scripts/PIE-2.0beta1/PIE_IE678.js"></script>
 53     <![endif]-->
 54 </head>
 55 <body>
 56     <div class="page-container">
 57         <div class="operation">
 58             <a class="btn btn-danger radius" href="javascript:;"><i class="Hui-iconfont">&#xe6e2;</i> 批量刪除</a>
 59             <a class="btn btn-primary radius" href="javascript:;"><i class="Hui-iconfont">&#xe600;</i> 添加用戶</a>
 60         </div>
 61 
 62         <div class="search">
 63             <input type="text" id="nickname" class="input-text" style="width:100px;" placeholder="昵稱">
 64             <button id="search" class="btn btn-success" type="submit"><i class="Hui-iconfont">&#xe665;</i> 查詢</button>
 65         </div>
 66 
 67         <div class="table">
 68             <table id="table1" class="table table-border table-bordered table-bg table-hover">
 69                 <thead>
 70                     <tr class="text-c">
 71                         <th><input type="checkbox" name="" value=""></th>
 72                         <th>昵稱</th>
 73                         <th>賬號</th>
 74                         <th>密碼</th>
 75                         <th>添加時間</th>
 76                         <th>修改時間</th>
 77                         <th>是否禁用</th>
 78                         <th>操作</th>
 79                     </tr>
 80                 </thead>
 81             </table>
 82         </div>
 83     </div>
 84 </body>
 85 </html>
 86 <script src="~/Content/Scripts/jquery-2.0.3.min.js"></script>
 87 <script src="~/Content/Scripts/datatables/1.10.13/jquery.dataTables.min.js"></script>
 88 <script src="~/Content/Scripts/h-ui/js/H-ui.js"></script>
 89 <script src="~/Content/Scripts/h-ui.admin/js/H-ui.admin.js"></script>
 90 
 91 <script type="text/javascript">
 92     var table1 = null;
 93     $(function() {
 94         table1=initializeTable();
 95         $("#search").click(function() {
 96             table1.ajax.reload();
 97         });
 98     });
 99     
100     function initializeTable() {//初始化table
101         var table = $("#table1").DataTable({
102             /****************************************表格數據載入****************************************************/
103             "serverSide": true,
104             "ajax": {//ajax請求數據源
105                 "url": "/UserInfo/Manager/Search",
106                 "type": "post",
107                 "data": function (data) {//添加額外的數據給伺服器
108                     data.pageIndex = (data.start / data.length) + 1;
109                     data.nickname = $("#nickname").val().trim();
110                 }
111             },
112             "columns": [//列綁定
113                 { "defaultContent": "" },
114                 { "data": "Nickname" },
115                 { "data": "LoginName" },
116                 { "data": "LoginPassword" },
117                 { "data": "AddTime" },
118                 { "data": "ModifyTime" },
119                 { "data": "IsForbidden" },
120                 { "defaultContent": "" }
121             ],
122             "columnDefs": [//列定義
123                 {
124                     "targets": [0],
125                     "data": "UserInfoId",
126                     "render": function (data, type, full) {//全部列值可以通過full.列名獲取,一般單個列值用data PS:這裡的render是有多少列就執行多少次方法。。。不知道為啥
127                         return "<input type='checkbox' value='" + data + "' name='UserInfoId'>";
128                     }
129                 },
130                 {
131                     "targets": [4],
132                     "data": "AddTime",
133                     "render": function (data, type, full) {//全部列值可以通過full.列名獲取,一般單個列值用data PS:這裡的render是有多少列就執行多少次方法。。。不知道為啥
134                         if (data == null || data.trim() == "") { return ""; }
135                         else { var date = new Date(parseInt(data.slice(6))); return date.getFullYear() + "/" + date.getMonth() + "/" + date.getDate(); }
136                     }
137                 },
138                 {
139                     "targets": [5],
140                     "data": "ModifyTime",
141                     "render": function (data, type, full) {//全部列值可以通過full.列名獲取,一般單個列值用data PS:這裡的render是有多少列就執行多少次方法。。。不知道為啥
142                         if (data == null || data.trim() == "") { return "/"; }
143                         else { var date = new Date(parseInt(data.slice(6))); return date.getFullYear() + "/" + date.getMonth() + "/" + date.getDate(); }
144                     }
145                 },
146                 {
147                     "targets": [6],
148                     "data": "IsForbidden",
149                     "render": function (data, type, full) {//全部列值可以通過full.列名獲取,一般單個列值用data PS:這裡的render是有多少列就執行多少次方法。。。不知道為啥
150                         if (data) { return ""; }
151                         else { return ""; }
152                     }
153                 },
154                 {
155                     "targets": [7],
156                     "data": "UserInfoId",
157                     "render": function (data, type, full) {//全部列值可以通過full.列名獲取,一般單個列值用data PS:這裡的render是有多少列就執行多少次方法。。。不知道為啥
158                         return "<a style='text-decoration:none' class='ml-5 f-14' onclick=article_edit('資訊編輯','article-add.html','" + data + "') href='javascript:;' title='編輯'><i class='Hui-iconfont'>&#xe6df;</i></a>" +
159                             "<a style='text-decoration:none' class='ml-5 f-14' onclick=article_del(this,'" + data + "') href='javascript:;' title='刪除'><i class='Hui-iconfont'>&#xe6e2;</i></a>";
160                     }
161                 },
162 
163                 { "orderable": false, "targets": [0, 7] },// 是否排序
164                 //{ "visible": false, "targets": [3, 5] }//是否可見
165             ],
166             "rowCallback": function (row, data, displayIndex) {//行定義
167                 $(row).attr("class", "text-c");
168             },
169             "initComplete": function (settings, json) { //表格初始化完成後調用
170 
171             },
172             /****************************************表格數據載入****************************************************/
173             /****************************************表格樣式控制****************************************************/
174             "dom": "t<'dataTables_info'il>p",//表格佈局
175             "language": {//語言國際化
176                 "lengthMenu": "每頁 _MENU_ 條",
177                 "zeroRecords": "沒有找到記錄",
178                 "info": "當前顯示 _START_ 到 _END_ 條,共 _TOTAL_條",
179                 "infoEmpty": "無記錄",
180                 "paginate":
181                 {
182                     "first": "首頁",
183                     "previous": "前一頁",
184                     "

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Windos環境用Nginx配置反向代理和負載均衡 引言:在前後端分離架構下,難免會遇到跨域問題。目前的解決方案大致有JSONP,反向代理,CORS這三種方式。JSONP相容性良好,最大的缺點是只支持GET方式請求。反向代理方式簡單徹底,基本只需要伺服器配置即可完成。CORS由服務提供程式主動聲明自 ...
  • RabbitMq應用一 RabbitMQ的具體概念,百度百科一下,我這裡說一下我的理解,如果有少或者不對的地方,歡迎糾正和補充。 一個項目架構,小的時候,一般都是傳統的單一網站系統,或者項目,三層架構,到現在的MVC架構。隨著用戶訪問量越來越多,系統業務越來越多,會出現以下問題: 1.修改完大量代碼 ...
  • --From : JAVA程式性能優化 (葛一鳴,清華大學出版社,2012/10第一版) 1. java性能調優概述 1.1 性能概述 程式性能: 執行速度,記憶體分配,啟動時間, 負載承受能力。 性能指標: 執行時間,CPU時間,記憶體分配,磁碟吞吐量,網路吞吐量,響應時間。 優化策略: 木桶原理,優 ...
  • React的井字過三關(1) 本文系React官方教程的Tutorial: Intro To React的筆記。由筆者用ES5語法改寫。 在本篇筆記中,嘗試用React構建一個 可交互的 井字棋游戲。 開始 先佈局: status反映游戲信息。九宮格採用flex佈局。右側有一處游戲信息。 再把css ...
  • 部分內容取自:http://www.jianshu.com/p/dd97cbb3c22d,我自己也在使用,持續更新中 Atom安裝插件在視窗中File Setting install 在裡面進行搜索就行。 minimap: 為Atom加上一個代碼預覽地圖,就想sublime中右側的縮略圖一樣,效果如 ...
  • 一、前言 巨坑,基礎沒學好,導致找了一個下午的問題,終於被我發現了。說多都是淚,記錄下來,以後有人遇到這個錯誤可以參考下 做項目期間做了幾個頁面,需要用到彈出層,為了方便使用到了Layer的插件,然後寫點擊事件在form表單中(第一個坑),接著,又使用button按鈕(悲劇的開始),同樣放在form ...
  • 1,什麼是事件委托:通俗的講,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是讓別人來做,這個事件本來是加在某些元素上的,然而你卻加到別人身上來做,完成這個事件。 也就是:利用冒泡的原理,把事件加到父級上,觸發執行效果。 好處呢:1,提高性能。 我們可以 ...
  • 關於jquery中用函數來設置css樣式 2016-12-21 23:27:55 1.jquery語法 $(selector).css(name,function(index,value)) name:必需。規定 CSS 屬性的名稱 function(index,value): 規定返回CSS屬性新 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...