2011-10-09 24 views
9

Estoy usando Datatables con server_processing para obtener datos, el problema principal es que no quiero especificar el nombre de las columnas en html (<th width="25" id ="th1">id</th>), quiero crear columnas dinámicamente cuando obtengo datos por ajax.Creando columnas dinámicamente con Datatables Jquery

Mi código es:.

$('#table').dataTable({ 

    "bProcessing": true, 
    "bServerSide": true, 
    "sAjaxSource": "server_processing.php?db="+pid+"&table="+id+"", //pid is the name of database and id the name of the table 
    "bJQueryUI": true, 
    "sPaginationType": "full_numbers" 

});    

Respuesta

5

"A pesar de tablas de datos pueden obtener información sobre la mesa directamente desde el DOM, es posible que desee dar DataTables instrucciones específicas para cada columna individual Esto se puede hacer utilizando el el parámetro aoColumnDefs, o aoColumns y la información del objeto dada para cada columna. " - http://datatables.net/usage/columns

algo como:

html

<table class="display" id="table"></table> 

js

$("#table").dataTable({ 
    bJQueryUI:true, 
    aoColumns:[ 
     {mDataProp:"foo",sTitle:"Foo Title"}, 
     {mDataProp:"bar",sTitle:"Bar Title"} 
    ], 
    fnServerData: function(sUrl, data, fnCallback){ 
     $.get('data.php', function(res) { 
      fnCallback({ // process results to match table format 
       "sEcho":config.sEcho, 
       "iTotalRecords":res.data.total || res.data.count, 
       "iTotalDisplayRecords":res.data.count || res.data.total, 
       "aaData":res.data.list 
      }) 
     }); 
    } 
}) 

Dónde data.php es

{ 
    data:{ 
     total:200, 
     count:3, 
     list:[ 
      {foo:"Foo 1",bar:"Bar 1"}, 
      {foo:"Foo 2",bar:"Bar 2"}, 
      {foo:"Foo 3",bar:"Bar 3"}, 
     ] 
    } 
} 

También hay un buen resumen de establecer esto de aquí: http://datatables.net/usage/options#aaData

+0

Esta es una respuesta agradable, sin embargo, no responde a la OP real. Él está preguntando sobre los nombres de las columnas y la especificación de la columna y está respondiendo sobre los datos. –

+0

Hola Giovanni, gracias por el comentario, pero por curiosidad, ¿extrañaste la primera parte de la publicación? aoColumns describe los nombres de las columnas. Agregué los datos JSON para mayor claridad. – Shanimal

Cuestiones relacionadas