2016-07-21 43 views
2

如何乘數據表中的數據? 我有數據表和JavaScript看起來像這樣:如何乘數據表中的數據?

$('#xxdata').DataTable({ 
     "destroy": true, 
     "processing": true, 
     "ajax": { 
      url : "xxreport.php", 
      type : 'GET', 
      data : { 
       datedari : SplitRange[0].trim(), 
       datesampai : SplitRange[1].trim() 
     } 
     }, 
     "columns": [ 
       { "data": "offerName" }, 
       { "data": "offerCountry" }, 
       { "data": "visits" }, 
       { "data": "conversions" }, 
       { "data": "profit"} 
     ] 
}); 

我想乘數據{ "data": "profit"}
也許像 這{ "data": "profit" * 0.7}

我可以更改數據表數據因爲我想要的?或者有誰可以提供其他解決方案

謝謝。

+0

當您第一次獲取數據或某些事件觸發器時,是否希望只乘以它? –

+0

你是否試圖按照你描述的方式去做,並發現它不起作用?你試過什麼了? – BobRodes

+0

我想在第一次獲取數據時只乘以它 – Zayn

回答

3

可以使用columns.render選項(documented here)來做到這一點。

"columns": [ 
      { "data": "offerName" }, 
      { "data": "offerCountry" }, 
      { "data": "visits" }, 
      { "data": "conversions" }, 
      { "data": "profit", 
       "render": function (data) { 
          return data * 0.7; 
         } 
      } 
    ] 

在這種情況下,函數簽名中的data代表單元的數據。還有其他的選項可以傳遞給函數,但在你的情況下,這些不需要包含,因爲這是一個簡單的操作。如果您想要擴展到更復雜的渲染功能,請參閱文檔鏈接

+0

是的這是作品:D 非常感謝 – Zayn

0

您必須添加一個渲染你的專欄,是這樣的:

{ "data": "profit", "render": renderMyProfit} 

,你應該有渲染功能聲明調用.DataTable()函數之前。

var renderMyProfit = function (data, type, row, meta) { 
      var renderContent = "<div>*</div>"; 
      return renderContent.replace("*", row.profit * 0.7); 
    }; 
+0

你爲什麼要對'renderContent'進行整體替換?你可以直接返回數據。 –

+0

克里斯,如果你有一個比乘以一個數字更復雜的需求,那麼你已經有了一個html返回,這對大多數人都有幫助。 – Guilherme

+0

您真的不應該將HTML注入DataTables源數據,請注意,這不僅僅是一個HTML表格,而是一個由DataTables jQuery插件增強的表格,可以爲您處理格式。 –