Tam olarak ne istediğimi öğrenmek için yakınım, sadece biraz yardıma ihtiyacım var.jquery datatables - Bir gruptaki toplam sütunlar
Grup çalışıyorum. Şimdi her grup için sütunları toplamak ve toplamı grup başlığında görüntülemek istiyorum. daha kolay ben yapmaya çalışıyorum göstermek için yana İşte bunun bir jsfiddle var:
http://jsfiddle.net/RgKPZ/123/
ilgili kodu:
$(function() {
oTable = $('#job_history').dataTable({
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [ 4,5,6 ] },
],
"aLengthMenu": [[10, 25, 50, -1], ["Show 10 entries", "Show 25 entries", "Show 50 entries", "Show all entries"]], // options in the show rows selector
"iDisplayLength" : -1, // show all rows by default
"aaSortingFixed": [[ 5, 'asc' ]],
"aaSorting": [[ 5, 'asc' ]],
"bJQueryUI": true,
"sDom": '<flip>', // filter, length, info, pagination
"oLanguage": {
"sSearch": "", // label for search field - see function below for setting placeholder text
"sLengthMenu": "_MENU_", // label for show selector { "sLengthMenu": "Display _MENU_ jobs" }
"sInfo": "Showing _START_ to _END_ of _TOTAL_ entries.", // string for information display
"sInfoEmpty": "No entries to show", // what to show when info is empty
"sInfoFiltered": " (Filtering from _MAX_ entries.)",
"sEmptyTable": "There are no entries matching the search criteria.", // shown when table is empty, regardless of filtering
"sZeroRecords": "", // shown when nothing is left after filtering
},
"fnDrawCallback": function (oSettings) {
if (oSettings.aiDisplay.length == 0)
{
return;
}
var nTrs = $('#job_history tbody tr'); // get all table rows
var iColspan = nTrs[0].getElementsByTagName('td').length;
var sLastGroup = "";
var summed_minutes = 0;
for (var i = 0; i < nTrs.length; i++)
{
var iDisplayIndex = oSettings._iDisplayStart + i;
var sGroup = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[ 5 ];
if (sGroup != sLastGroup)
{
var nGroup = document.createElement('tr');
var nCell = document.createElement('td');
nCell.colSpan = iColspan;
nCell.className = "group";
summed_minutes += oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[ 7 ];
nCell.innerHTML = sGroup + summed_minutes;
nGroup.appendChild(nCell);
nTrs[i].parentNode.insertBefore(nGroup, nTrs[i]);
sLastGroup = sGroup;
}
}
}
});
});
tek sorun özetlemek istiyorum sütunları olmadığına karar olduğunu birlikte ekleniyor. Değerler görüntüleniyor, ancak benzer sayıları bir araya getirmek yerine bir dizgi gibi. Ayrıca, tüm değerler bir dizi olarak gösterilmiyor bile - tekrarlar oluyor. Number() ve parseInt() kullanarak dönüştürme denedim ama şans yok. Bunu, her bir filtre filtresinden sonra toplanacak olan geri arama işlevine (gruplama işlevi gibi) koymaya çalışıyorum.
Eminim ki bir değişkenin yanlış ya da yanlış yere ya da başka bir şeye sahip olduğuna eminim, ama bunu çözemiyorum. Hayal kırıklığına yakın! id benzersiz olmalıdır, çünkü :-(
TIA, Matt
Hangi sütun için toplam istiyorum ve gruplar nelerdir? –
5. sütunlarda tüm hücreleri eklemek için bunu kullanın '$ (" table tr td: nth-child (4) "), her (function {) { total + = parseFloat ($ (this) .text()); }); ' –
Yardım için teşekkürler. Ben daha yakınım ama hala tam orada değil. Şimdi nerede olduğumu göstermek için jsfiddle'ımı güncelledim. http://jsfiddle.net/RgKPZ/126/ – Matt