【问题标题】:DataTables, calculated columnDataTables,计算列
【发布时间】:2016-11-01 20:22:37
【问题描述】:

我正在尝试使用 DataTable 插件在我的表中创建一个列,该列是使用前两列的值计算得出的。

类似这样.. (价格)(数量)=总计

|| Price || QTY || Total||
==========================
||  5    ||  2  ||  10  ||
||  10   ||  3  ||  30  ||
||  4    ||  1  ||  4   ||

我觉得它应该很简单,但我无法让它工作。 Here is a similar question I tried to follow.

这是我初始化表格的 JS 文件

var table = $('#tempPOs').DataTable( {
        dom: 'frtip', //Bfrtip (removed the B to get rid of the buttons)
        ajax: '/inventory/DTResources/php/table.tempPOs.php',
        columns: [
        { "data": "pmkPart" },
        { "data": "PartNumber" },
        { "data": "Description" },
        { "data": "fnkManufacturer" },
        { "data": "Notes" },
        { "data": "EachPrice", render: $.fn.dataTable.render.number( ',', '.', 0, '$' ) },
        { "data": "Quantity" },
        { "data": "Username" },
        {
            data: null,
            className: "center",
            defaultContent: '<a href="" class="editor_remove">Remove</a>'
        }
        ],
        select: true,
        lengthChange: false,
        buttons: [
        { extend: 'create', editor: editor },
        { extend: 'edit',   editor: editor },
        { extend: 'remove', editor: editor }
        ],

    } );

这是我的 HTML

<th>Part ID</th>
<th>Part Number</th>
<th>Description</th>
<th>Manufacturer</th>
<th>Notes</th>
<th>Part Price</th>
<th>Quantity</th>
<th>Username</th>
<th>Total Price</th>
<th>Remove</th>

谁能指出我正确的方向?

【问题讨论】:

    标签: jquery datatable datatables


    【解决方案1】:

    您可以使用render 选项,类似于您在"EachPrice" 字段中使用它的方式。如果您想获取更多信息,有一个记录在 here 的内置函数,但我将在下面概述它的外观。

    columns: [
        /*other columns omitted for example*/
        { 
            "data": null, //data is null since we want to access ALL data
                          //for the sake of our calculation below
            "render": function(data,type,row) { return (data["price"] * data["quantity"])}
        }
    
    ],
    

    通过这种方式,您可以使用data 中的其他列来呈现此列的输出。

    这个选项基本上可以用来显示你想要的任何东西,只要它可以用函数计算。如果您想了解更多有关使用 render 选项的信息,请查看上面的链接。

    【讨论】:

    • 非常感谢。我知道它必须是一些简单的东西,我只是无法正确语法。
    • @Chris H.,是否可以对该列进行排序?
    • 如果数据有内部对象怎么办,示例数据["item.price"] 将不起作用
    猜你喜欢
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多