Creé este violín y funciona bien según mis requisitos: Fiddle
Sin embargo, cuando uso lo mismo en mi aplicación , aparece un error en la consola del navegador que dice No se puede leer la propiedad 'aDataSort' de indefinido
En mi aplicación, el javascript dice algo parecido a lo siguiente: He comprobado la salida del controlador ... funciona bien y también está impreso en la consola.
$(document).ready(function() {
$.getJSON("three.htm", function(data) {
// console.log("loadDataTable >> "+JSON.stringify(data));
})
.fail(function( jqxhr, textStatus, error ) {
var err = textStatus + ', ' + error;
alert(err);
console.log( "Request Failed: " + err);
})
.success(function(data){
loadDataTable(data);
});
function loadDataTable(data){
$("#recentSubscribers").dataTable().fnDestroy();
var oTable = $('#recentSubscribers').dataTable({
"aaData" : JSON.parse(data.subscribers),
"processing": true,
"bPaginate": false,
"bFilter": false,
"bSort": false,
"bInfo": false,
"aoColumnDefs": [{
"sTitle": "Subscriber ID",
"aTargets": [0]
}, {
"sTitle": "Install Location",
"aTargets": [1]
}, {
"sTitle": "Subscriber Name",
"aTargets": [2]
}, {
"aTargets": [0],
"mRender": function (data, type, full) {
return '<a style="text-decoration:none;" href="#" class="abc">' + data + '</a>';
}
}],
"aoColumns": [{
"mData": "code"
}, {
"mData": "acctNum"
}, {
"mData": "name"
}]
});
}
})
javascript
jquery
jquery-datatables
Swateek
fuente
fuente
Respuestas:
Es importante que su THEAD no esté vacío en la tabla, ya que dataTable requiere que especifique el número de columnas de los datos esperados. Según sus datos, debería ser
fuente
"Sort":false
, luego pude ver la lista en orden descendente que provenía del controlador comoModel.OrderByDescending(x=>x.Action==0).ThenBy(x=>x.Action)
.<thead>
debe contener a<tr>
, luego<th>
s<thead>
pero debe definir las columnas en su inicio de DataTable () así: tablas de datos .net / referencia / opción / columnas.dataTambién tuve este problema, esta matriz estaba fuera de rango:
fuente
Para mí, el error estaba en DataTables en sí; El código para ordenar en DataTables 1.10.9 no buscará límites; así que si usas algo como
con una tabla vacía, no hay fila idx 1 -> esta excepción asegura. Esto sucedió cuando los datos de la tabla se obtuvieron de forma asincrónica. Inicialmente, en la carga de la página, la tabla de datos se inicializa sin datos. Debería actualizarse más tarde tan pronto como se obtengan los datos del resultado.
Mi solución:
fuente
Enfrenté el mismo problema, los siguientes cambios resolvieron mi problema.
la
aoColumns
matriz describe el ancho de cada columna y sussortable
propiedades.fuente
En mi caso tuve
Donde debería haber estado
Nota: en mi caso tuve que vaciar la tabla ya que tenía datos que quería ir antes de insertar nuevos datos.
¡Solo piense en compartir dónde "podría" ayudar a alguien en el futuro!
fuente
Tuve este problema y fue porque otro script borraba todas las tablas y las recreaba, pero mi tabla no se estaba recreando. Pasé años en este tema antes de darme cuenta de que mi tabla ni siquiera era visible en la página. ¿Puede ver su tabla antes de inicializar DataTables?
Básicamente, el otro guión estaba haciendo:
Y debería haber estado haciendo:
fuente
Debe cambiar las comillas simples a comillas
[']
dobles["]
debido al análisissi está utilizando el atributo de orden de datos en la tabla, utilícelo así
data-order='[[1, "asc"]]'
fuente
En mi caso resolví el problema estableciendo un número de columna válido al aplicar la
order
propiedad dentro del script donde configuras la tabla de datos.fuente