Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/01/2013, 10:34
jesusjj
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Pregunta Datatables - nueva fila

Buenas tardes:

Estoy utilizando el componente Datatables de jquery (http://datatables.net/).

Para alimentar la tabla, le paso los datos al componente mediante un array JS, que asigno mediante las opciones: aaData y defino mediante aoColumns

Tengo que agregarle la funcionalidad de añadir nuevas filas en blanco, para insertarla posteriormente mediante inline editing. Al generar la nueva fila me muestra el siguiente error:
DataTables warning (table id = 'nombre-tabla'): Requested unknown parameter 'ConceptoBase' from the data source for row 3

El código es el siguiente:
Carga de Datos
Código Javascript:
Ver original
  1. function cargarDatosTabla(nombreTabla, arrDatos) {
  2.         $("#" + nombreTabla).dataTable({
  3.             "oLanguage": {
  4.                 "sUrl": "/_layouts/3082/JS/DataTable/dataTables.spanish.txt"
  5.             },
  6.             "bPaginate": false,
  7.             "bFilter": false,
  8.             "aaData" : arrDatos,
  9.             "aoColumns" : [
  10.                 {
  11.                       "sTitle"      : "Concepto Base"
  12.                     , "mDataProp"   : "ConceptoBase"
  13.                 },[...]


Botón Añadir
Código Javascript:
Ver original
  1. $(".btn-anadir").on("click", function(e) {
  2.     e.preventDefault();
  3.     $(this).attr('disabled', 'disabled');
  4.  
  5.     var oTable = $(this).parent().next('div').children('table.tb-datos').dataTable();
  6.  
  7.     var aiNew = oTable.fnAddData(['', '', '', '', '', '',
  8.                 '<a class="txt-center display-block" href=""><img src="/_layouts/3082/JS/DataTable/images/edit.png" alt="editar" title="editar" /></a>',
  9.                 '<a class="txt-center display-block delete" href=""><img src="/_layouts/3082/JS/DataTable/images/delete.png" alt="borrar" title="borrar" /></a>']);
  10.     var nRow = oTable.fnGetNodes(aiNew[0]);
  11.     editRow(oTable, nRow);
  12.     nEditing = nRow;
  13. });

El error salta al completar la variable aiNew.

¿Sabe alguien cómo podría solucionarlo o si me toca cambiar de estrategia?

Muchas gracias.

Saludos.