如何使用sumtr + datatables向此表添加货币格式?

时间:2016-09-23 16:21:21

标签: javascript jquery datatables

我有这个表,我使用sumtr作为表格页脚,并显示数据表中的所有数据。 我需要将所有值显示为货币。

我无法更改sumtr后的值,因为它无法计算字符串。

这里的表格代码:

<table id="invoice_table">
    <thead>
        <tr>
            <th>Type</th>
            <th>Qty</th>
            <th>Value</th>
        </tr>
    </thead>
    <tbody>

@foreach (var item1 in Model.Date1)
        {
            try
            {
                string par = item1.theMoney.Value.ToString().Replace("-", "");

        <tr>
            <td>Cash</td>
            <td class="sum">@Html.DisplayFor(modelItem => item1.theCount)</td>
            <td class="sum">@Html.DisplayFor(modelItem => par)</td>
        </tr>

    }
    catch { }
}
@foreach (var item2 in Model.Date2)
        {
            try
            {
                string par = item2.theMoney.Value.ToString().Replace("-", "");
        <tr>
            <td>Cheque</td>
            <td class="sum">@Html.DisplayFor(modelItem => item2.theCount)</td>
            <td class="sum">@Html.DisplayFor(modelItem => par)</td>
        </tr>
            }
            catch { }
        }
@foreach (var item3 in Model.Date3)
{
    try
    {
        string par = item3.theMoney.Value.ToString().Replace("-", "");
            <tr>
                <td>Online</td>
                <td class="sum">@Html.DisplayFor(modelItem => item3.theCount)</td>
                <td class="sum">@Html.DisplayFor(modelItem => par)</td>
            </tr>
    }
    catch { }
}
        @foreach (var item4 in Model.Date4)
        {
            try
            {
                string par = item4.theMoney.Value.ToString().Replace("-", "");
                <tr>
                    <td>PAP</td>
                    <td class="sum">@Html.DisplayFor(modelItem => item4.theCount)</td>
                    <td class="sum">@Html.DisplayFor(modelItem => par)</td>
                </tr>
            }
            catch { }
        }
    </tbody>
    <tfoot>
        <tr class="summary">
            <td>Total:</td>
            <td class="first">?</td>
            <td class="second">?</td>
        </tr>
    </tfoot>
</table>

<script type="text/javascript">
    jQuery(function ($) {

            $('#invoice_table').sumtr();
            $('#invoice_table .summary').sumtrRatio('.first', '.second');


            $('#invoice_table').DataTable({
            dom: 'Blfrtip',
            buttons: [
                'copyHtml5',
                'csvHtml5',
            ]
        });
    });
</script>

表格如下: 需要采用适当的货币格式(&#34; C&#34;):94,029美元

table

1 个答案:

答案 0 :(得分:0)

我是怎么做的

        $('#invoice_table').sumtr({
            onComplete: function(e){
                e.find('.summary').each(function(index) {
                    var second = $(this).find('.second').data('sumtr');
                    $(this).find('.second').html('$' + (second).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,'));
                });
            }
        });