2016-10-16 122 views
2

我通过AJAX使用数据表获取数据表列,显示表像这样渲染通过AJAX

var table = $('#data').DataTable({ 
     "ajax": "initTable.php", 
     "columns": [ 
      { "data": "orderid" }, 
      { "data": "first_name"}, 
      { "data": "last_name"}, 
      { "data": "unix" }, 
      { "data": "final_total" } 
     ] 
    }); 

我已经试过

{ "data": "first_name" + "data": "last_name"}, 

但我得到一个错误,而不是显示表。那么,如何改变渲染,显示下一个名字在同一小区内,以姓氏不会在未来电池

[更新]

试图

"ajax": "initTable.php", 
"columns": [ 
      { "data": "orderid" }, 
      { "data": "first_name"}, 
      {"data": "last_name"}, 
      { "data": "unix" }, 
      { "data": "final_total" } 
     ], 
     "columnDefs": [ 
      { 
       "render": function (data, type, row) { 
        return data + row[2]; 
       }, 
       "targets": 1 
      }, 
      { "visible": false, "targets": [ 2 ] } 
     ] 

(注:我必须定义列行,因为我得到许多列(约20),并希望只显示4或5) 但我得到的第一个名字,然后“未定义”像“安迪未定义”的

+0

看看[列渲染](https://www.datatables.net/examples/advanced_init/column_render.html) – gaetanoM

+0

更新请检阅。我得到'定义'的姓氏 –

回答

1

使用代码:

{ 
    "render": function (data, type, row){ 
     return row["first_name"] + " " + row["last_name"]; 
    }, 
    "targets": 1 
}, 

此外,如果您隐藏它,则不需要包含last_name列。

+0

非常感谢。并使用:{“visible”:false,“targets”:[2]}隐藏姓氏字段。 –

+0

@PHPUser,正如我所说的,你不必在表中包含'last_name'字段,并且可以删除'{“data”:“last_name”}“和'{”visible“:false,”targets“:[2 ]}'只要'last_name'在Ajax响应中可用。 –