DataTables VS EasyUI DataGrid 基礎應用 轉


DataTables中文網推出了 第一篇 關於DataTables和其餘表格插件比較後,爲了把讓這個比較更有意義,更能幫助到你們,DataTables中文網 作了問卷調查,根據小夥伴們的填寫我概括了一下,一個表格插件關注點在如下三個部分基礎、高級的和進階:javascript

  • 基礎
    • 排序
    • 分頁
    • 搜索
    • 美觀
    • 合理的配置
  • 高級
    • 單擊和雙擊行事
    • 選擇高亮顯示
    • 增刪改查
    • 列寬拖動
    • 數據導出
    • 添加序號
  • 進階
    • 支持的數據類型
    • 行內編輯
    • 合併單元格
    • 自定義表頭
    • 高擴展性
    • 易用的API
    • 模塊化

因此根據以上列出的這些功能點,DataTables中文網至少還會推出三篇文章來說DataTables和DataGrid之間的「優劣」, 從而幫助你們選出適合本身的表格插件。php

因爲我也是初次使用DataGrid,因此在某些方面可能還不能描述的很好, 如發現文章有說得不對或者能夠改進的地方,但願您還能在閱讀完文章後在下方或者經過右下角的反饋發表下本身的見解。 若是以爲本系列文章能幫助到小夥伴們, 但願小夥伴能多多支持本站,多給DataTables中文網提建議,多宣傳DataTables中文網。css

說以前插播一個廣告html

x i
 

好了,咱們進入正題吧。java

前面一篇講到了分別使用最簡配置,使表格變得更強大,今天咱們要講的就是基礎部分, 對照API,Demo分別實現排序,分頁,搜索,這三個基本功能。jquery

  1. DataTables實現排序,分頁,搜索
  2. DataGrid實現排序,分頁,搜索
  3. 討論

  • DataTables實現排序,分頁,搜索

對於DataTables,其實以前的例子中已經作完了這個步驟,由於默認就開啓了這部分功能,仍是直接看代碼吧服務器

和以前同樣,有以下表格:app

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<table>
       <thead> <tr> <th>Code</th> <th>Name</th> <th>Price</th> </tr> </thead> <tbody> <tr> <td>001</td><td>name1</td><td>2323</td> </tr> <tr> <td>002</td><td>name2</td><td>4612</td> </tr> <tr> <td>003</td><td>name3</td><td>4612</td> </tr> <tr> <td>004</td><td>name4</td><td>4612</td> </tr> <tr> <td>005</td><td>name5</td><td>4612</td> </tr> <tr> <td>006</td><td>name6</td><td>4612</td> </tr> <tr> <td>007</td><td>name7</td><td>4612</td> </tr> <tr> <td>008</td><td>name8</td><td>4612</td> </tr> <tr> <td>009</td><td>name9</td><td>4612</td> </tr> <tr> <td>010</td><td>name10</td><td>4612</td> </tr> <tr> <td>011</td><td>name11</td><td>4612</td> </tr> </tbody> </table>

第一步:引入 DataTables 的js和css模塊化

1
2
3
4
5
6
 <!--樣式文件-->
 <link rel="stylesheet" type="text/css" href="plugin/datatables/jquery.dataTables.min.css"> <!--jquery js--> <script src="plugin/datatables/jquery.js"></script> <!--DataTables 核心 js--> <script src="plugin/datatables/jquery.dataTables.min.js"></script>

第二步:給表格加上id學習

1
2
3
<table id="example" class="display"> …… </table>

第三步:初始化

1
2
3
4
5
6
7
8
9
10
11
<script> $(function () { $('#example').DataTable({ columns:[ {data:"firstname"}, {data:"lastname"}, {data:"phone"} ] }); }); </script>

只需簡單的一行代碼,DataTables就會幫你把表格配備上排序,翻頁,快速過濾。此次的代碼比以前的要多了列配置,本次先賣個關子, 後面再告訴你們爲何要這樣配置?



  • DataGrid實現排序,分頁,搜索

很少說,仍是來看看DataGrid是怎麼實現的。在作DataGrid的時候我花了些時間,用起來不那麼熟練,遇到了許多問題,不過經過在網上搜索 最終解決了問題,只是翻頁仍是有點小bug,須要點擊下排序以後,翻頁才正常,若是小夥伴你知道怎麼解決但願您能告訴我

第一步:引入 EasyUI DataGrid 的js和css

1
2
3
4
5
6
7
8
9
10
 <!--核心樣式文件-->
 <link rel="stylesheet" type="text/css" href="/assets/easyui/easyui.css"> <!--圖標css--> <link rel="stylesheet" type="text/css" href="/assets/easyui/icon.css"> <!--顏色樣式--> <link rel="stylesheet" type="text/css" href="/assets/easyui/color.css"> <!--核心js--> <script type="text/javascript" src="/assets/easyui/jquery.easyui.min.js"></script> <!--開啓過濾須要引入的js--> <script type="text/javascript" src="/assets/easyui/datagrid-filter.js"></script>

第二步:使用js代碼初始化DataGrid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var dg = $('#dataGrid').datagrid({ /**開啓分頁*/ pagination: true, /**默認是服務器排序,這裏須要手動關閉,切換爲客戶端排序*/ remoteSort: false, /**單條選擇模式*/ singleSelect: true, /**配置*/ columns: [[ /**sortable:true 開啓排序*/ {field: 'firstname', title: "first_name", sortable: true}, {field: 'lastname', title: "last_name", sortable: true}, {field: 'phone', title: "phone", sortable: true} ]] }); /**開啓過濾*/ dg.datagrid('enableFilter');

效果以下:


 
first_name
last_name
phone
001
name1
2323
002
name2
4612
003
name3
4613
004
name4
4614
005
name5
4615
006
name6
4612
007
name7
4712
008
name8
4812
009
name9
4912
010
name10
5012
011
name11
5112
012
name12
34235

  • 討論

可能我是初接觸DataGrid,因此在作這個例子的時候顯的有些費力,雖然不是難的功能,做爲初學者我以爲DataGrid仍是比較難入手。 但回過頭來想一想,我最開始使用DataTables的時候不也是這樣費力麼?開玩笑了,你們不要當真。

說說我對這篇文章的感謝,總的來講兩款表格插件表現都不錯,功能都能實現,只要對着文檔,仍是可以作出來。同時也分享下一個經驗, 我以爲實用於全部的插件:

  • 首先,學習或者說使用一個插件首先去查看Demo,個人作法是把做者提供的全部Demo瀏覽一遍,知道這個插件他能作什麼
  • 其次,根據本身的狀況,結合Demo作出屬於本身的示例
  • 再次,查閱API文檔,弄清楚各個參數的含義及用法
  • 最後,應用到項目中去

參考:

DataGrid服務器排序列子

DataGrid內容過濾

DataGrid增長分頁

相關文章
相關標籤/搜索