例
const table = $("#tableId").DataTable({
columns: [
{
name: "link",
data: "data_id",
orderable: false,
render: function(data, type, row, meta) {
return '<a href="/{{request.blueprint}}/' + data + '/edit">Edit</a>';
}
},
{ name: "name", data: "name", title: "Name", },
{ name: "position", data: "position", title: "Position", },
{ name: "salary", data: "salary", title: "Salary", },
{ name: "start_date", data: "start_date", title: "Start date", },
{ name: "office", data: "office", title: "Office", },
{ name: "extn", data: "extn", title: "Extn", },
],
})
name
列の名前。普通は
table.columns(index).data().toArray();
みたいに番号で指定するが、 name
を決めておくと
table.columns("salary:name").data().toArray();
のように名前で列を指定できるようになる。
data
DataTablesではデータをオブジェクトの形で
data = [
{
"data_id": 1,
"name": "Tiger Nixon",
"position": "System Architect",
"salary": "$320,800",
"start_date": "2011/04/25",
"office": "Edinburgh",
"extn": "5421"
},
]
のように渡すが、キー名を data
の値として入力する。
title
テーブルのヘッダーに表示される文字列。
orderable
defaultは true
。列見出しの横に昇順or降順を示す矢印が出てきて、並び替えができるようになる。
render
詳細は https://datatables.net/reference/option/columns.render 。
データを受け取ったあとに実行されて、表示テキストを変更することができる。
render: function(data, type, row, meta) {
return '<a href="/{{request.blueprint}}/' + data + '/edit">Edit</a>';
}
この例では主キーをハイパーリンクに変換している。
通貨表示にする場合は
{ name: "salary", data: "salary", title: "Salary", render: ["number", ",", ".", 0, "¥" ] },
- 千の位ごとに",“で区切る
- 小数点は”."
- 小数点以下"0"桁まで表示(=整数で表示)
- 数値の前に¥をつける
(https://datatables.net/manual/data/renderers#Number-helper)