Как изменить столбцы DataTables из запроса CSV AJAX?

Я заполняю DataTable данными из файла CSV. Из файла поступает некоторая макропрограмма (т. Е. Column2 = column1 * 3, column4 = column3 * 3...).

Я делаю AJAX-запрос на получение данных из файла CSV и использую библиотеку jQuery CSV для анализа файла перед заполнением таблицы.

Как я могу применить логику умножения к некоторым столбцам в таблице?

$.ajax({
    url: "../data/data.csv",
    dataType: "text",
    cache: false,
    success: function(csvs){
        data = $.csv.toObjects(csvs);
        table.rows.add(data).draw();
    }
});

var table = $('#totals-table').DataTable({
dom: '<"top"Bf>rt<"bottom"lp>',
buttons: [
    'copy', 'csv', 'excel'
],
columns: [
    {
        "title": "col1",
        "data": "col1"
    },
    {
        "title": "col2",
        "data": "col2"
    },
    {
        "title": "col3",
        "data": "col3"
    },
    {
        "title": "col4",
        "data": "col4"
    }
]

});

1 ответ

Решение

Ты можешь использовать columnDefs в вашей DataTable, вот так:

$('#totals-table').DataTable({
  columnDefs: [{
    "targets": 4,// index of the column where the result should display
    "render": function(data, type, column) {
      return column[4] * column[7]; //target the column you want to multiply by its index
    }
  }]
})

Скрипка здесь

Другие вопросы по тегам