2015-11-02 6 views
5

का उपयोग करके पेजिनेशन प्रदर्शित नहीं करते हैं। मेरी वेबसाइट में मैं प्रदर्शन डेटा के लिए डेटा टेबल का उपयोग कर रहा हूं। अब मुद्दा यह है कि यदि डिफ़ॉल्ट पेजिनेशन की तुलना में 10 रिकॉर्ड प्रदर्शित नहीं होते हैं, लेकिन जब 10 से अधिक रिकॉर्ड होते हैं तो डेटा तालिका का पेजिनेशन प्रदर्शित होना चाहिए।डेटा रिकॉर्ड करने योग्य 10 से अधिक रिकॉर्ड पेजिंग दिखाते हैं अन्यथा डेटाटेबल्स

var save_method; 
var table; 
    $(document).ready(function() { 
     table = $('#table').DataTable({ 
     oLanguage: { 
     sProcessing: "<img src='<?php echo base_url();?>assets/img/loader.gif'>" 
     }, 
     "processing": true, 
     "serverSide": true,  
     // Load data for the table's content from an Ajax source 
     "ajax": { 
      "url": "<?php echo base_url();?>Technology/technology_list", 
      "type": "POST" 
     }, 

     "columnDefs": [ 
     { 
      "targets": [ -1 ], 
      "orderable": false, 
     }, 
     ], 
     }); 
    }); 
+0

आप डेटाटेबल को कैसे समझते हैं? जेएसओएन द्वारा AJAX द्वारा, Ny मार्कअप ...? कृपया कुछ कोड दिखाएं .... – davidkonrad

+0

मैंने डेटाटेबल में सर्वर साइड प्रसंस्करण भी किया। इसके लिए मैं डेटाटेबल के कुछ कोड पेस्ट करता हूं। अगर मैं नीचे उत्तर देता हूं तो यह –

+0

में काम नहीं कर रहा है, यही कारण है कि मैंने पूछा :) विभिन्न स्थितियों के लिए अलग-अलग दृष्टिकोण हैं। तो, 'प्रौद्योगिकी/तकनीक_सूची' एक JSON वापस कर देगा? अगर मुझे और पता चलेगा तो मैं खुशी से एक उदाहरण बनाउंगा: 'xhr' ईवेंट के लिए सुनो,' # table_filter' और '# table_length' को अक्षम करें यदि रिकॉर्ड <10, उदाहरण का उत्पादन करना अच्छा लगेगा लेकिन यह जानने की जरूरत है कि AJAX प्रतिक्रिया कैसे बनाई जाती है । – davidkonrad

उत्तर

8

उपयोग bPaginate (पुराने हंगेरी अंकन शैली) या paginate पृष्ठांकन चालू करने के लिए -:

यह मैं कैसे datatable

$(document).ready(function(){ 
     $('#tbl_member').dataTable({ 
      "iDisplayLength": 10, 
      "bAutoWidth": false, 
      "aoColumnDefs": [ 
       {"bSortable": true, "aTargets": [0,2]} 
      ] 
     }); 
}); 

यह datatable कोड जब मैं किया जाता है सर्वर साइड प्रसंस्करण प्रारंभ है या बंद आप विकल्पों निर्धारित करने के लिए एक्सप्रेशन का उपयोग कर सकते हैं:

$('#tbl_member').dataTable({ 
    "bPaginate" : $('#tbl_member tbody tr').length>10, 
    "iDisplayLength": 10, 
    "bAutoWidth": false, 
    "aoColumnDefs": [ 
     {"bSortable": true, "aTargets": [0,2]} 
    ] 
}); 

यह दोनों 1.9.x में काम करता है और DataTables के 1.10.x संस्करणों। कम से कम 10 रिकॉर्ड होने से एक के साथ दो तालिकाओं दिखा डेमो, अन्य एक बहुत अधिक ->http://jsfiddle.net/t2xcfLap/3/


छिपाएं पृष्ठांकन एक AJAX के अपडेट के बाद नियंत्रित करता है। JSON प्रतिक्रिया मानते हुए प्रपत्र

{ 
    "draw": 1, 
    "recordsTotal": 3, 
    "recordsFiltered": 3, 
    "data": [ 
    [...], 
    ] 
} 

तो

table.on('xhr', function(e, settings, json, xhr) { 
    if (json.recordsTotal<10) { 
     $("#example_paginate").hide(); 
     $("#example_length").hide(); 
    } else { 
     $("#example_paginate").show(); 
     $("#example_length").show(); 
    }   
}) 

डेमो पर है ->http://jsfiddle.net/yyo5231z/

इंजेक्शन नियंत्रण प्रपत्र <tableId>_length, <tableId>_paginate पर रखा गया है। तो यदि आपकी तालिका में idtable है, तो उपरोक्त $("#table_paginate").hide(); और इसी तरह होना चाहिए।

एक स्थिर तालिका के साथ पहले उत्तर की तुलना में अलग दृष्टिकोण का कारण यह है कि आप तालिका को फिर से शुरू किए बिना फ्लाई पर पेजिनेशन नहीं बदल सकते हैं।

+0

आपका उत्तर मिला बहुत बहुत धन्यवाद ..... यह मेरी समस्या हल है –

संबंधित मुद्दे