En DataTable más de 10 registros muestran la paginación, de lo contrario, no muestra la paginación usando datos de datos -- datatables camp Relacionados El problema

In datatable more than 10 records show pagination otherwise not display pagination using datatables


6
vote

problema

Español

En mi sitio web estoy usando tablas de datos para datos de visualización. Ahora, el problema es si hay 10 registros que la paginación predeterminada no se muestra, pero cuando hay más de 10 registros, la paginación de la tabla de datos debe mostrar.

Así es como inicializo DataTable

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

Este código de datos es cuando terminé el procesamiento del lado del servidor: -

  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,          },         ],       });     });   
Original en ingles

In My website I am using data tables for display data. Now The issue is If there are 10 records than the default pagination is not display but when there are more than 10 records the pagination of data table should display.

This is how I initialize datatable

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

This datatable code is when I done server side processing:-

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,          },         ],       });     }); 
  
         
         

Lista de respuestas

9
 
vote
vote
La mejor respuesta
 

Uso bPaginate (antiguo estilo de notación húngara) o paginate para activar o desactivar la paginación. Puede usar expresiones para determinar las opciones:

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

Esto funciona en las versiones 1.9.x y 1.10.x de datos de datos. Demo que muestra dos tablas con la que tiene menos de 10 registros, la otra más, y GT; http://jsfiddle.net/t2xcflap/3/


Ocultar controles de paginación después de una actualización de AJAX. Suponiendo que la respuesta de JSON esté en la forma

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

luego

  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();     }         })   

Demo - & gt; http://jsfiddle.net/yyo5231z/

Los controles inyectados se denominan en el formulario <tableId>_length , <tableId>_paginate . Entonces, si su tabla tiene el id InputStream inputStream = InstrumentationRegistry.getTargetContext().getAssets().open("mock/" + filename);0 , entonces el anterior debe ser InputStream inputStream = InstrumentationRegistry.getTargetContext().getAssets().open("mock/" + filename);1111 y así sucesivamente.

El motivo del enfoque diferente en comparación con la primera respuesta con una tabla estática es que no puede cambiar la paginación sobre la marcha sin volver a inicializar la tabla.

 

Use bPaginate (old hungarian notation style) or paginate to turn pagination on or off. You can use expressions to determine the options :

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

This works in both 1.9.x and 1.10.x versions of dataTables. Demo showing two tables with the one having less than 10 records, the other a lot more -> http://jsfiddle.net/t2xcfLap/3/


Hide pagination controls after an AJAX update. Assuming the JSON reponse is on the form

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

then

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();     }         }) 

demo -> http://jsfiddle.net/yyo5231z/

The injected controls is named on the form <tableId>_length, <tableId>_paginate. So if your table have the id table, then the above should be $("#table_paginate").hide(); and so on.

The reason for the different approach compared to the first answer with a static table is, that you cannot change pagination on the fly without re-initialising the table.

 
 

Relacionados problema

5  DataTables con varias tablas en una página  ( Datatables with multiple tables on one page ) 
Estoy buscando en el sitio web de DataTables.net para una aclaración o documentación más bien sobre qué hacer si tiene más de 1 tabla en una sola página y des...

0  Syle no se está aplicando a abandono  ( Syle not getting applied to dropdown ) 
También he estado jugando con esto un poco y no puedo entender por qué los estilos se aplican al cuadro de texto de búsqueda, pero no el abandono, como lo hac...

0  Solicitud de Django.Get y jQuery DataTables  ( Django request get and jquery datatables ) 
Considerando el ejemplo aquí Para llenar la tabla de jquery-dataTables con datos proporcionado por el servidor, una solicitud típica tiene el siguiente form...

0  Añadiendo FancyBox a DataTables  ( Adding fancybox to datatables ) 
Estoy buscando implementar FancyBox dentro de My Datatable. Quiero poder hacer clic en el enlace que se almacena en mi base de datos y presenta la página alma...

6  DataTables - Fusionar columnas juntas  ( Datatables merge columns together ) 
Tengo estas columnas de base de datos, pero quiero que estén en una columna. ¿Como podría hacerlo? Con Morder, ¿creo? /* Address */ ...

2  JQUERY DataTable Botón funciona solo en el primer clic  ( Jquery datatable button works only on first click ) 
HTML - PHP Tengo datos de tabla en utenti-metrici.php , y 2 ventana modal que utilizo para modificar / leer datos. En la tabla tengo también el botón (leer...

2  Cómo cargar los datos de jquery en DIV con la llamada AJAX  ( How to load jquery datatables into div with ajax call ) 
Necesito cargar la tabla completa en DIV con $.ajax , pero después de eso, DataTables no funcionará. ¿Puedo hacer algo al respecto? ...

25  DataTables - Configuración del ancho de la columna  ( Datatables setting column width ) 
Estoy tratando de configurar el ancho de las columnas como se muestra a continuación: var per_page = $("table").data("per_page"); $(".table").dataTable(...

2  Cómo llamar al cuadro de diálogo modal desde la fila de datos: parece tener conflicto con JQUERY UI  ( How to call modal dialog from datatables row seem to have conflict with jquery ) 
Quiero crear funciones de "crud" llamando a un formulario modal haciendo clic en una fila en datos. He estado en esto durante horas atravesando cada paso de...

0  ¿Cómo mostrar datos en DataTables usando Laravel 5?  ( How to display data on datatables using laravel 5 ) 
Estoy usando Laravel 5 y quiero mostrar el campo en la columna Jenis_Surat en la base de datos a mi tabla usando DataTables. Quiero usar JSON, ¿sabe cómo most...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos