正交數據
為了盡可能簡化操作,預設情況下,DataTables 期望使用陣列作為表格中資料列的資料來源。然而,這並非總是實用,您可能希望 DataTables 使用物件作為每列的資料來源(即每列的資料由一個物件描述),這樣可以使資料處理更加容易理解,特別是當您使用 API 且不需要追蹤陣列索引時。
這可以透過簡單地使用 columns.data
選項來完成,您可以使用此選項告知 DataTables 每個欄位要使用資料來源物件的哪個屬性。
在這個範例中,Ajax 來源會傳回一個物件陣列,DataTables 使用這些物件來顯示表格。在此範例中,資料列資料來源的結構如下:
{
"name": "Tiger Nixon",
"position": "System Architect",
"salary": "$3,120",
"start_date": {
"display": "Mon 25th Apr 11",
"timestamp": "1303682400"
},
"office": "Edinburgh",
"extn": "5421"
}
姓名 | 職位 | 辦公室 | 分機 | 開始日期 | 薪資 |
---|---|---|---|---|---|
姓名 | 職位 | 辦公室 | 分機 | 開始日期 | 薪資 |
- Javascript
- HTML
- CSS
- Ajax
- 伺服器端腳本
- 註解
以下顯示的 Javascript 用於初始化本範例中顯示的表格
$('#example').DataTable({ ajax: 'data/orthogonal.txt', columns: [ { data: 'name' }, { data: 'position' }, { data: 'office' }, { data: 'extn' }, { data: { _: 'start_date.display', sort: 'start_date.timestamp' } }, { data: 'salary' } ] });
new DataTable('#example', { ajax: 'data/orthogonal.txt', columns: [ { data: 'name' }, { data: 'position' }, { data: 'office' }, { data: 'extn' }, { data: { _: 'start_date.display', sort: 'start_date.timestamp' } }, { data: 'salary' } ] });
除了以上程式碼,以下 Javascript 程式庫檔案也會載入以供本範例使用
以下顯示的 HTML 是原始 HTML 表格元素,在被 DataTables 增強之前
本範例使用了一些額外的 CSS,超出從程式庫檔案載入的 CSS(如下所示),以便正確顯示表格。使用的額外 CSS 如下所示
以下 CSS 程式庫檔案會載入以供本範例使用,以提供表格的樣式
此表格透過 Ajax 載入資料。以下顯示已載入的最新資料。當載入任何其他資料時,此資料將會自動更新。
以下顯示用於執行此表格伺服器端處理的腳本。請注意,這只是一個使用 PHP 的範例腳本。可以使用任何語言編寫伺服器端處理腳本,使用 DataTables 文件中描述的協定。