簡體   English   中英

數據表按列名排序

[英]datatables sort by column name

很快,在應用排序或搜索時,我需要使用列名而不是列號。 我知道它沒有實現,開發人員多次表示他將在下一個版本中支持它,但我現在正在考慮。 我正在使用服務器端分頁,所以我使用的是 ajax.data。 我只需向數據表發送的 d.order[0] object 添加新值。 這是我的偽:

vat table = $('#foo').DataTable({
"processing": true, 
"serverSide": true,
"ajax": {
 "url": uri_api,
 "method": "POST",
 "data": function(d) {
   if len(table.columns(0).data.tfoot.placeholder)>0 than d.order[0]['col_name']='col0name'
   if len(table.columns(1).data.tfoot.placeholder)>0 than d.order[1]['col_name']='col1name'
   return json.stringify(d);
 }
"columns": [
  { "data": "bar" },
  { "data": "baz" }
 ]
});

這是純偽代碼,我不知道如何編碼。 還有純js。 如果在 ajax 部分我使用 $(this) 它使用整個 jquery 庫。 有什么提示嗎?

非常感謝 andrewjames,我解決了我的問題,並且工作速度也非常快:根據他的提示,我搜索了“帶有 ajax 數據的數據表列名稱”,我找到了這個鏈接: Using column names with DataTables with AJAX data source基本上我沒有遵循帶有綠旗的解決方案,該解決方案對我不起作用。 我使用了 ahmeti 答案,我添加了以下幾行:

fnServerParams: function(data) {
    data['order'].forEach(function(items, index) {
        data['order'][index]['column_name'] = data['columns'][items.column]['data'];
  });
},

問候。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM