JQuery डेटाटेबल्स का उपयोग करना, विशेष रूप से नीचे दिए गए फ़ंक्शन विशिष्ट कॉलम में कुल योग करने के लिए:

footerCallback: function ( row, data, start, end, display ) {
    var api = this.api();
    // Remove the formatting to get integer data for summation
    var intVal = function ( i ) {

        return typeof i === 'string' ?
            i.replace(/[\$,]/g, '')*1 :
            typeof i === 'number' ?
                i : 0;

    };
    var i;
    for (i = 27; i <=122; i++) { 
        if (api.column(i).data().length){
            var total = api.column( i ).data().reduce( function (a, b) {
                return intVal(a) + intVal(b);
                }) 
            }
        else { 
            total = 0
        };

        // Update footer
        $( api.column(i).footer() ).html(total);
    }
},

अब तक सब ठीक है, कुल प्रदर्शन।

हालांकि जब मैं table.columns(12).search('No',true,false).draw(); जैसे किसी कॉलम को खोजता हूं तो पाद लेख अपडेट नहीं होता है।

मैंने पढ़ा datatables.net/forums/discussion/41651/ should-footercallback-be-call-when-clearing-a-search-filter और यह ड्रॉ () के साथ कहा जा रहा है, इसे अपडेट मिलना चाहिए, डी लेकिन यह नहीं है 'टी

कोई सलाह?

0
pee2pee 29 सितंबर 2019, 22:05

1 उत्तर

सबसे बढ़िया उत्तर

आपको दूसरा तर्क निर्दिष्ट करना होगा selector-modifier सभी के लिए column() API विधि कॉल करती है और कॉलम डेटा पुनर्प्राप्त करते समय खोज लागू करने के लिए { search:'applied' } का उपयोग करती है। जब आप column() API पद्धति का उपयोग करते हैं, तो डिफ़ॉल्ट रूप से DataTables खोज को लागू नहीं करता है .

उदाहरण के लिए:

var data = api.column(i, { search:'applied' }).data();
if (data.length){
    var total = data.reduce( function (a, b) {
        return intVal(a) + intVal(b);
    });
} else { 
    total = 0;
}
1
Gyrocode.com 30 सितंबर 2019, 05:52