2016-09-18 1 views
0

私は、データがajazのXMLによって供給されて2列に基づいて計算されたパーセント列を追加できるようにしたいと思います:xml ajaxソースによって駆動されるDatatableに計算(パーセント)列を追加しますか?

$(document).ready(function() { 
      var itemTable = $('#items').DataTable({ 
       ajax: { 
        url: "/api/itemList", 
        dataSrc: "" 
       }, 
       columns: [ 
        { data: 'item' }, 
        { data: 'buyPrice' }, 
        { data: 'sellPrice' }, 
私はこのような計算列の何かを追加できるようにしたいと思い

ここ
{ data: 'percent' (buyPrice/sellPrice*100 % } 

私のソースXMLの例である:

<item> 
    <itemName>item1</itemName> 
    <buyPrice>5.00</buyPrice> 
    <sellPrice>6.00</sellPrice> 
</item> 

それは時間に好ましいですので、XMLは、MVCアプリケーションで生成されますクライアント側で計算が完了しました。ありがとうございました。

EDIT:可能であれば、完全な列ヘッダーの並べ替えを保持することができます。そうでなければ、データベース側でパーセント計算を実行する必要があります。私はXMLでそれを行うことができない限り、私はそれについての手掛かりはありません。

答えて

0

並べ替え固定コメント以下を参照してください。しかし、私はそれがソートされていないことをしていますが、!


コンピューティングは、我々は必要な値を計算するための関数を使用することができます価格とコスト分野の余白欄を作成するために、最後に

値 - この場合にはcolumns.dataがnullであることに注意してください - としての https://datatables.net/manual/data/renderers

{ 
data: null, 
render: function (data, type, row) { 
    return Math.round((row.price - row.cost)/row.price * 100)+'%'; 
} 
} 
+0

それはので、並べ替えていない:columns.renderメソッドに渡される最初のパラメータもnullですが、三番目のパラメータは、元のデータソースオブジェクトへのアクセスを提供し、私たちはそこからのデータが使用を継続することができます結果あなたは(おそらく)クライアント側の計算の概念を持たないサーバー側でのソートです。 – markpsmith

+0

ありがとうございました。 これは現在ソートされています。ソートは、不規則なデータによってスローされたように見えました。それが負の値かNullの値を含むかどうかはわかりませんが、それは私のアプリケーションには必要ありません。ありがとう。 – user6063812

関連する問題