如何修改来自 CSV AJAX 请求的 DataTables 列?
How do I modify DataTables columns from CSV AJAX request?
我正在用 CSV 文件中的数据填充 DataTable。文件中有一些宏逻辑(即 column2 = column1 * 3,column4 = column3 * 3 ...)。
我正在发出 AJAX 请求以从 CSV 文件中获取数据,并在填充 table 之前使用 jQuery CSV 库解析文件。
如何将乘法逻辑应用于 table 中的某些列?
$.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"
}
]
});
您可以在 DataTable 上使用 columnDefs
,如下所示:
$('#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
}
}]
})
我正在用 CSV 文件中的数据填充 DataTable。文件中有一些宏逻辑(即 column2 = column1 * 3,column4 = column3 * 3 ...)。
我正在发出 AJAX 请求以从 CSV 文件中获取数据,并在填充 table 之前使用 jQuery CSV 库解析文件。
如何将乘法逻辑应用于 table 中的某些列?
$.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"
}
]
});
您可以在 DataTable 上使用 columnDefs
,如下所示:
$('#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
}
}]
})