Jquery Datatables (2) 動態載入資料型別

風靈使發表於2018-07-28

首先datatables可識別資料分三種:

  • 陣列(Arrays [])
  • 物件(objects {})
  • 例項(new myclass())

在給定tableheader的情況下實現三種資料格式

(1)陣列:首先你需要一個陣列<陣列>

var arr = [[1,2,3,4],[5,4,3,2]];

接下來通過data標籤獲取陣列

$('#table_id').DataTable( {
    'data': arr
} );

就獲得了

資料從第一列到最後一列按下標號自己對號入座

(2)物件

物件除了需要data載入資料還需要columns將資料對號入座,一般來說PHP返回的資料傾向陣列而java返回傾向物件

如果java類為MyColumns含有屬性column1,column2,column3,column4,column5……

那麼首先你需要一個陣列<物件>

var mycolumns = [
    {
        "column1":       "1",
        "column2":       "2",
        "column3":       "3",
        "column4":       "4",
        "column5":       "5"
    },
    {
        "column1":       "5",
        "column2":       "4",
        "column3":       "3",
        "column4":       "2",
        "column5":       "1"
    }
];

接著你需要data獲取物件 並通過columns標籤來對每一列賦值

$('#table_id_example').DataTable( {
    data: mycolumns,
    //使用物件陣列,一定要配置columns,告訴 DataTables 每列對應的屬性
    //data 這裡是固定不變的,name,position,salary,office 為你資料裡對應的屬性
    columns: [
        { data: 'column1' },
        { data: 'column2' },
        { data: 'column3' },
        { data: 'column4' }
    ]
} );
data:object_namecolumns:[{data:'column_name'}]

執行結果同(1)陣列一樣

注意:object中有5個屬性 但是顯示以columns為標準

相關文章