DataTables,Ajax Pipelining

时间:2011-07-12 20:09:50

标签: php javascript jquery ajax datatables

我正在使用pipelining的DataTables。我工作得很好,除非我试图输入一个额外的列来保存“编辑”链接。见this表。

以下是server_processing.php的片段,其中显示了以下列:

   /* Array of database columns which should be read and sent back to DataTables.
    * Use a space where you want to insert a 
    * non-database field (for example a counter or static image)
    */
    $aColumns = array( 'user','email', ); 

以下是客户端:

    $(document).ready( function (){
       $('#example').dataTable({
          "bProcessing": true,
          "bServerSide": true,
          "sAjaxSource": "scripts/server_processing.php",
          "fnServerData": fnDataTablesPipeline,
          aoColumns: [null, null, {"bSortable": false}]
    }).makeEditable({
       sUpdateURL: "UpdateData.php",
       sAddURL: "AddData.php",
       sAddHttpMethod: "POST",
       sDeleteURL: "DeleteData.php",
       sDeleteHttpMethod: "POST",
       aoColumns: [ { } , { } , null ]
    });
  });

那么,为什么这不起作用?

1 个答案:

答案 0 :(得分:3)

我自己完成了同样的事情。我喜欢使用aoColumnDefs配置我的所有列,因为您可以一次为列添加多个配置选项。

// Disable sorting on the 3rd column
'aoColumnDefs': [{'aTargets': [2], 'bSortable': false}]

请注意,aTargets是要应用这些设置的列索引数组。因此,如果您要添加更多链接列(例如删除链接),则可以关闭那些列,而不必每次都重写列定义。

// Disable sorting on the 3rd and 4th column
'aoColumnDefs': [{'aTargets': [2,3], 'bSortable': false}]

而且,正如我所说,您可以为同一个数组中的列添加更多配置选项:

// Disable sorting on the 3rd and 4th column and sort 1st column by string
'aoColumnDefs': [
    {'aTargets': [2,3], 'bSortable': false}
    {'aTargets': [0], 'sType': 'string'}
]