jQuery数据表对齐中心1列

时间:2017-08-01 20:13:55

标签: jquery html css datatables

想要将中心对齐称为“状态”的第一列:

        $("#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 doc和google。

4 个答案:

答案 0 :(得分:35)

您可以在columndef中使用主题类(bootstrap)或您自己的主题类。 喜欢

  

text-right,text-left,text-center

 'columnDefs': [
  {
      "targets": 0, // your case first column
      "className": "text-center",
      "width": "4%"
 },
 {
      "targets": 2,
      "className": "text-right",
 }],

答案 1 :(得分:2)

此外,您可以将列分组以将一种样式应用于多种样式,如下所示:

  columnDefs: [
    { className: 'text-right', targets: [7, 10, 11, 14, 16] },
    { className: 'text-center', targets: [5] },
  ], ...

答案 2 :(得分:0)

您还可以在每个列对象内指定单个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" }

答案 3 :(得分:0)

您可以手动设置样式

$("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>';
            }
        },
    ],
    ....
});