Estoy teniendo problemas para configurar una costumbre de tablas de datos que utiliza los Botones del plugin.

Puedo configurar una valor predeterminado personalizado dom diseño que funciona:

//vanilla dom (frtip...)
$.extend($.fn.dataTable.defaults, {
  dom: 'frtip'
});

Pero si trato de incluyen la «B» en el carácter de dom diseño:

//Invoke Buttons plugin (Bfrtip...)
$.extend($.fn.dataTable.defaults, {
  dom: 'Bfrtip'
});

…, a continuación, ejecute de tablas de datos, este error de JavaScript se reporta:

Uncaught TypeError: No se puede leer la propiedad ‘botones’ undefined

¿Qué estoy haciendo mal?

Por favor ver un ejemplo de esto en https://jsfiddle.net/jhfrench/at83rcoL/

OriginalEl autor Jeromy French | 2016-02-20

1 Comentario

  1. 13

    Me lo imaginé mientras que la redacción de esta pregunta. Compartir el duro-ganado respuesta aquí:

    No es suficiente para incluir la correspondiente JS activos (jquery.dataTables.min.js, dataTables.buttons.min.js, etc). Usted también tener para invocar los Botones del plugin por extender los valores por defecto con el button elemento del objeto:

    //Invoke Buttons plugin (Bfrtip...)
    $.extend($.fn.dataTable.defaults, {
        buttons: [ 'copy', 'csv', 'excel' ]
    });

    O usted puede llamar a dataTable() de inicialización:

    $("#table2").DataTable({
      buttons: [
        'copy', 'excel', 'pdf'
      ]
    });

    Ver https://jsfiddle.net/jhfrench/at83rcoL/8/ para ejemplos de ambos enfoques de trabajo.

    La mayoría de las opciones integradas para el dom se pueden encender y apagar el dom opción puede todavía hablar de ellas y no de golpe. Lamentablemente, para los botones del plugin, o bien omitir el B si usted no está utilizando los botones de una determinada instancia DT, o asegurarse de que si B es en dom, que buttons se define en las opciones. Esto hace que la configuración de un agradable defecto dom valor para todo el sitio web que incluye B problemático, ya que asume que cada instancia tendrá botones. La próxima vez que trabajo en esto voy a probar la configuración de un defecto de buttons: false o buttons: [] y ver si eso lo arregla.
    En realidad, yo sólo probé muy rápido en el anterior violín 🙂 efectivamente, en el violín del primer ejemplo (el w/o botones) si establece dom: 'Bfrtip' y proporcionar buttons: [] funciona! (buttons: false lanza una excepción)

    OriginalEl autor Jeromy French

Dejar respuesta

Please enter your comment!
Please enter your name here