「ステータス」と呼ばれる最初の列だけを中央に揃えたい:
$("#TransactionTable").DataTable({
ajax: {
url: '/Transaction/SearchMockup',
type: 'POST',
data: {
cardEndingWith: $("#ccn").val(),
status: $("#status").val(),
supplier: $("#supplier").val(),
fromDate: $("#fromDate").val(),
toDate: $("#toDate").val()
}
},
columns: [
{
data: 'Status', render: function (data, type, row) {
switch (data) {
case 1:
return '<div id="circleRed"></div>'
break;
case 2:
return '<div id="circleGreen"></div>'
break;
case 3:
return '<div id="circleOrange"></div>'
break;
}
}
},
{ data: 'TransactionId' },
{ data: 'CreditCardNumber' },
{ data: 'Supplier' },
{ data: 'CreatedAt' },
{ data: 'Amount' }
]
});
それを実現するには、列オプションを追加する必要がありますか?すべてのDatatablesのドキュメントとgoogleを読みます。
テーマクラス(ブートストラップ)またはcolumndefで独自のクラスを使用できます。好む
テキスト右、テキスト左、テキスト中央
'columnDefs': [
{
"targets": 0, // your case first column
"className": "text-center",
"width": "4%"
},
{
"targets": 2,
"className": "text-right",
}],
また、列をグループ化して、次のような多くのスタイルに1つのスタイルを適用できます。
columnDefs: [
{ className: 'text-right', targets: [7, 10, 11, 14, 16] },
{ className: 'text-center', targets: [5] },
], ...
手動でスタイルを設定できます
$("select_your_table").DataTable({
....
columns: [
{
mData: "select_property_from_json",
render: function (data) {
return '<span style="display: flex; flex-flow: row nowrap; justify-content: center;">data</span>';
}
},
],
....
});
各列オブジェクト内で単一のcssクラス名を指定することもできます。
あなたの場合:
{
data: 'Status',
render: function (data, type, row) {
switch (data) {
case 1:
return '<div id="circleRed"></div>';
case 2:
return '<div id="circleGreen"></div>';
case 3:
return '<div id="circleOrange"></div>';
}
},
className: "text-center"
}