Как изменить столбцы 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
}
}]
})