2016-07-21 2 views
2

데이터 테이블의 데이터를 어떻게 증분합니까? 내가 원하는대로이 { "data": "profit" * 0.7}데이터 테이블에 데이터를 곱하는 방법은 무엇입니까?

내가 datatables의 데이터를 변경할 수 { "data": "profit"}
어쩌면 처럼

$('#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"} 
     ] 
}); 

내가 데이터를 곱하려면 : I는 다음과 같이 Datatables 및 자바 스크립트를 ? 아니면 다른 솔루션을 제공 할 수 있습니까?

감사합니다.

+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

예 This is Works : 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

Chris, 숫자를 곱하는 것보다 더 복잡한 필요성이있는 경우 이미 html로 돌아올 것입니다. 이는 대부분의 사람들에게 도움이 될 수 있습니다. – Guilherme

+0

정말 HTML을 DataTables 소스 데이터에 삽입해서는 안됩니다. HTML 테이블이 아니라 형식을 처리하는 DataTables jQuery 플러그인으로 강화 된 테이블입니다. –

관련 문제