排序外掛程式(含類型偵測)
雖然 DataTables 會使用內建方法自動排序多種不同資料類型的資料,但在處理更複雜的格式化資料時,最好自行定義排序順序。使用外掛程式排序功能,您可以讓 DataTables 以您想要的任何方式排序資料。
藉由使用 DataTables 的外掛程式類型偵測能力,可以自動偵測特定種類的格式化資料,並為其指派適當的排序外掛程式。有關排序外掛程式、如何建立它們及其要求的更多資訊,請參閱外掛程式開發文件。
此範例顯示使用列舉類型的排序。
在DataTables 外掛程式頁面上可以找到各種現成的排序外掛程式。
姓名 | 職位 | 辦公室 | 年齡 | 開始日期 | 薪資 |
---|---|---|---|---|---|
Tiger Nixon | 系統架構師 | 愛丁堡 | 61 | 2011-04-25 | 低 |
Garrett Winters | 會計師 | 東京 | 63 | 2011-07-25 | 低 |
Ashton Cox | 初級技術作者 | 舊金山 | 66 | 2009-01-12 | 低 |
Cedric Kelly | 資深 Javascript 開發人員 | 愛丁堡 | 22 | 2012-03-29 | 中 |
Airi Satou | 會計師 | 東京 | 33 | 2008-11-28 | 低 |
Brielle Williamson | 整合專員 | 紐約 | 61 | 2012-12-02 | 中 |
Herrod Chandler | 銷售助理 | 舊金山 | 59 | 2012-08-06 | 低 |
Rhona Davidson | 整合專員 | 東京 | 55 | 2010-10-14 | 低 |
Colleen Hurst | Javascript 開發人員 | 舊金山 | 39 | 2009-09-15 | 低 |
Sonya Frost | 軟體工程師 | 愛丁堡 | 23 | 2008-12-13 | 低 |
Jena Gaines | 辦公室經理 | 倫敦 | 30 | 2008-12-19 | 低 |
Quinn Flynn | 支援主管 | 愛丁堡 | 22 | 2013-03-03 | 低 |
Charde Marshall | 區域主管 | 舊金山 | 36 | 2008-10-16 | 中 |
Haley Kennedy | 資深行銷設計師 | 倫敦 | 43 | 2012-12-18 | 低 |
Tatyana Fitzpatrick | 區域主管 | 倫敦 | 19 | 2010-03-17 | 中 |
Michael Silva | 行銷設計師 | 倫敦 | 66 | 2012-11-27 | 低 |
Paul Byrd | 財務長 (CFO) | 紐約 | 64 | 2010-06-09 | 高 |
Gloria Little | 系統管理員 | 紐約 | 59 | 2009-04-10 | 低 |
Bradley Greer | 軟體工程師 | 倫敦 | 41 | 2012-10-13 | 低 |
Dai Rios | 人事主管 | 愛丁堡 | 35 | 2012-09-26 | 低 |
Jenette Caldwell | 開發主管 | 紐約 | 30 | 2011-09-03 | 低 |
Yuri Berry | 行銷長 (CMO) | 紐約 | 40 | 2009-06-25 | 高 |
Caesar Vance | 售前支援 | 紐約 | 21 | 2011-12-12 | 低 |
Doris Wilder | 銷售助理 | 雪梨 | 23 | 2010-09-20 | 低 |
Angelica Ramos | 執行長 (CEO) | 倫敦 | 47 | 2009-10-09 | 高 |
Gavin Joyce | 開發人員 | 愛丁堡 | 42 | 2010-12-22 | 低 |
Jennifer Chang | 區域主管 | 新加坡 | 28 | 2010-11-14 | 中 |
Brenden Wagner | 軟體工程師 | 舊金山 | 28 | 2011-06-07 | 低 |
Fiona Green | 營運長 (COO) | 舊金山 | 48 | 2010-03-11 | 高 |
Shou Itou | 區域行銷 | 東京 | 20 | 2011-08-14 | 低 |
Michelle House | 整合專員 | 雪梨 | 37 | 2011-06-02 | 低 |
Suki Burks | 開發人員 | 倫敦 | 53 | 2009-10-22 | 低 |
Prescott Bartlett | 技術作者 | 倫敦 | 27 | 2011-05-07 | 低 |
Gavin Cortez | 團隊領導 | 舊金山 | 22 | 2008-10-26 | 低 |
Martena Mccray | 售後支援 | 愛丁堡 | 46 | 2011-03-09 | 低 |
Unity Butler | 行銷設計師 | 舊金山 | 47 | 2009-12-09 | 低 |
Howard Hatfield | 辦公室經理 | 舊金山 | 51 | 2008-12-16 | 低 |
Hope Fuentes | 秘書 | 舊金山 | 41 | 2010-02-12 | 低 |
Vivian Harrell | 財務主管 | 舊金山 | 62 | 2009-02-14 | 中 |
Timothy Mooney | 辦公室經理 | 倫敦 | 37 | 2008-12-11 | 低 |
Jackson Bradshaw | 董事 | 紐約 | 65 | 2008-09-26 | 中 |
Olivia Liang | 支援工程師 | 新加坡 | 64 | 2011-02-03 | 低 |
Bruno Nash | 軟體工程師 | 倫敦 | 38 | 2011-05-03 | 低 |
Sakura Yamamoto | 支援工程師 | 東京 | 37 | 2009-08-19 | 低 |
Thor Walton | 開發人員 | 紐約 | 61 | 2013-08-11 | 低 |
Finn Camacho | 支援工程師 | 舊金山 | 47 | 2009-07-07 | 低 |
Serge Baldwin | 資料協調員 | 新加坡 | 64 | 2012-04-09 | 低 |
Zenaida Frank | 軟體工程師 | 紐約 | 63 | 2010-01-04 | 低 |
Zorita Serrano | 軟體工程師 | 舊金山 | 56 | 2012-06-01 | 低 |
Jennifer Acosta | 初級 Javascript 開發人員 | 愛丁堡 | 43 | 2013-02-01 | 低 |
Cara Stevens | 銷售助理 | 紐約 | 46 | 2011-12-06 | 低 |
Hermione Butler | 區域主管 | 倫敦 | 47 | 2011-03-21 | 中 |
Lael Greer | 系統管理員 | 倫敦 | 21 | 2009-02-27 | 低 |
Jonas Alexander | 開發人員 | 舊金山 | 30 | 2010-07-14 | 低 |
Shad Decker | 區域主管 | 愛丁堡 | 51 | 2008-11-13 | 低 |
Michael Bruce | Javascript 開發人員 | 新加坡 | 29 | 2011-06-27 | 低 |
Donna Snider | 客戶支援 | 紐約 | 27 | 2011-01-25 | 低 |
姓名 | 職位 | 辦公室 | 年齡 | 開始日期 | 薪資 |
- Javascript
- HTML
- CSS
- Ajax
- 伺服器端腳本
- 評論
以下顯示的 Javascript 用於初始化此範例中顯示的表格
DataTable.ext.type.detect.unshift(function (d) { return d === 'Low' || d === 'Medium' || d === 'High' ? 'salary-grade' : null; }); DataTable.ext.type.order['salary-grade-pre'] = function (d) { switch (d) { case 'Low': return 1; case 'Medium': return 2; case 'High': return 3; } return 0; }; $('#example').DataTable();
DataTable.ext.type.detect.unshift(function (d) { return d === 'Low' || d === 'Medium' || d === 'High' ? 'salary-grade' : null; }); DataTable.ext.type.order['salary-grade-pre'] = function (d) { switch (d) { case 'Low': return 1; case 'Medium': return 2; case 'High': return 3; } return 0; }; new DataTable('#example');
除了以上程式碼外,還載入以下 Javascript 程式庫檔案以在此範例中使用
以下顯示的 HTML 是原始 HTML 表格元素,在 DataTables 增強之前
此範例除了從程式庫檔案載入的 CSS 之外,還使用了一些額外的 CSS(如下所示),以便正確顯示表格。下面顯示了使用的額外 CSS
載入以下 CSS 程式庫檔案以在此範例中使用,以提供表格的樣式
此表格透過 Ajax 載入資料。以下顯示已載入的最新資料。當載入任何額外資料時,此資料將自動更新。
以下顯示用於執行此表格伺服器端處理的腳本。請注意,這只是一個使用 PHP 的範例腳本。伺服器端處理腳本可以用任何語言編寫,使用DataTables 文件中描述的協定。