このコードは次のとおりです。DataTableの乗算
$(document).ready(function() {
function getCodeNameSpecsSize(data, type, dataToSet) {
return data[3] + ", " + data[4] + ", " + data[5] + ", " + data[6];
}
function getTotalPrice(data, type, dataToSet) {
return data[7] * data[9];
}
var table = $('#incoming_material').dataTable({
"aProcessing": true,
"aServerSide": true,
"scrollY": 350,
"scrollX": true,
"deferRender": true,
"ajax": "Scripts/server-response-im.php",
"aoColumns": [
{"data": "1", "sClass": "align_center"},
{"data": "2", "sClass": "align_center"},
{"data": getCodeNameSpecsSize, "sClass": "align_center"},
{"data": "7", "sClass": "align_center"},
{"data": "8", "sClass": "align_center"},
{"data": "9", "sClass": "align_center"},
{"data": "10", "sClass": "align_center",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
var $currencyCell = $(nTd);
var commaValue = $currencyCell.text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
$currencyCell.text(commaValue);
}
},
{"data": getTotalPrice, "sClass": "align_center",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
var $currencyCell = $(nTd);
var commaValue = $currencyCell.text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
$currencyCell.text(commaValue);
}
},
{"data": "11", "sClass": "align_center"},
{ "mData": null , "sClass": "align_center",
"mRender" : function (data, type, full) {
return '<a href="redirect_preview_po.php?c='+data[2]+'" target=_blank>Preview</a>';}
}
],
"aaSorting": [[0,'desc']],
dom: 'Bfrtip',
lengthMenu: [
[ 10, 25, 50, -1 ],
[ '10 rows', '25 rows', '50 rows', 'Show all' ]
],
buttons: [
'pageLength',
'print',
'copyHtml5',
'excelHtml5',
'csvHtml5',
'pdfHtml5',
'colvis'
],
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
私は仕事にgetCodeNameSpecsSize機能を作ったが、getTotalPrice機能が動作しません。テーブルには、qty * unit_priceの代わりにNaNの値が表示されます。
QTY = data[7];
Unit Price = data[9];
ありがとうございます。どんな助けでも大歓迎です。
QTYと単価は既に私のテーブルではBIGINTですが、コード戻り値parseInt(data [7])* parseInt(data [9])も試しました。動いていない。何か案が?ありがとう。 –
サンプル入力データなしでデバッグが難しい。機能にブレークポイントを追加するか、コンソールにログを残して、何が起こっているかを確認してください。また、fnCreatedCell関数を一時的にコメントアウトし、問題を切り分けてみてください。 –
私のコードは現在動作しています。私の悪い。私がすべてを再確認した後、unit_price = data [10]となる。データではない[9]。つまり、結果は利用できないか、NaNです。ご支援ありがとうございます。 –