将计算(百分比)列添加到由xml ajax源驱动的数据表中?

时间:2016-09-18 21:29:46

标签: jquery json ajax asp.net-mvc datatables

我希望能够添加基于2列的百分比列,其中数据由ajaz xml提供:

$chunks = array_chunk($data, 1000);
foreach ($chunks as $chunk) {
    foreach ($chunk as $row) {
        // insert $row into table
    }
    sleep(5);
}

我希望能够添加如下所示的计算列:

 $(document).ready(function () {
            var itemTable = $('#items').DataTable({
                ajax: {
                    url: "/api/itemList",
                    dataSrc: ""
                },
                columns: [
                    { data: 'item' },
                    { data: 'buyPrice' },
                    { data: 'sellPrice' },

以下是我的源XML示例:

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

XML是在MVC应用程序中生成的,因此最好在客户端完成计算。谢谢。

编辑:如果可能的话,我希望能够保留完整的列标题排序 - 否则我将被迫在数据库端进行百分比计算。除非我能在XML上做到这一点,但我对此毫无头绪。

1 个答案:

答案 0 :(得分:0)

排序已修复,请参阅下面的评论但是 - 虽然它做了我想要的但它没有排序!

计算值

最后,要从价格和成本字段创建边距列,我们可以使用函数来计算所需的值 - 请注意,在这种情况下,columns.data为null - 因此第一个参数传递给columns.render方法也为null,但第三个参数提供对原始数据源对象的访问,因此我们可以继续使用那里的数据: https://datatables.net/manual/data/renderers

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