使用服务器端处理隐藏DataTable的JSON中存在的列

Pra*_*hav 4 datatable jquery html-table

我关注这篇文章:DataTable:ASP.Net中的服务器端处理
我正在使用此代码初始化DataTable:

<script type="text/javascript">
    $(function () {
        $('#example').dataTable({
            'bProcessing': true,
            'bServerSide': true,
            'sAjaxSource': '/data.ashx'
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我的JSON是这样的:

{    
 "iTotalRecords": "57",
 "iTotalDisplayRecords": "57",
 "aaData": [
  [
     "id001",
     "Name001",
     "Addr001",
  ],
  [
     "id002",
     "Name002",
     "Addr002",
   ]
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想实现如下:

<table id="datatable">
   <thead>...</thead>
   <tbody>
     <tr id="id001">
        <td>Name001</td>
        <td>Addr001</td>
     </tr>
     <tr id="id002">
        <td>Name002</td>
        <td>Addr002</td>
     </tr>

     .
     .
   </tbody>
 </table>
Run Code Online (Sandbox Code Playgroud)

注意:
要为<tr>我使用的ID分配:

"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull) {
     $(nRow).attr("id",aData[0]);
     return nRow;
}
Run Code Online (Sandbox Code Playgroud)

但它并没有隐藏ID专栏.请帮忙.

更新: 我找到了解决问题的完美解决方案.
我必须创建我的JSON,如下所示

 {    
 "iTotalRecords": "57",
 "iTotalDisplayRecords": "57",
 "aaData": [
  [         
     "0":"Name001",
     "1":"Addr001",
     "DT_RowId": "id001",
  ],
  [        
     "0":"Name002",
     "1":"Addr002",
     "DT_RowId": "id002",
   ]
  ]
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看此链接:DateTable - 自动添加行ID

bhb*_*bhb 5

使用aoColumnDefs隐藏的列.数据表示例

$('#datatable').dataTable({
    aaData: aaData,
    "fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
        //console.log(nRow);

        $(nRow).attr("id", aData[0]);
        return nRow;
    },
    "aoColumnDefs": [
        {
        "bSearchable": false,
        "bVisible": false,
        "aTargets": [0]
        },
    ]
});?
Run Code Online (Sandbox Code Playgroud)

工作小提琴