Hide column when using server side
Hide column when using server side
Hi Allan, nice to talk with you again.
Three years ago I made a webpage with ajax call to server side and hide columns wasn't a problem. (1.4.3)
Now I using 1.9.3 and testing the server side example:
http://datatables.net/release-datatables/examples/server_side/server_side.html
but when I try to hide some column I get an empty table when using
[quote] "bVisible": false [/quote]
but if I use
[quote] "bVisible": true [/quote]
it show all the data.
This is the error I get on firefox debug
[quote]
Fecha: 23/08/12 21:04:16
Error: TypeError: a.charCodeAt is not a function
Archivo Fuente: http://template/java/jquery.dataTables.min-1.9.3.js
Línea: 83
[/quote]
This is the javascript code I use:
[code]
/***************** recorta el text a n caracteres si esta muy largo */
//var oTable;
function ellipsis(text, n) {
if(text.length>n)
return text.substring(0,n)+"...";
else
return text;
}
/***************** fin recortar ***************************************/
$(document).ready(function() {
$('#cuentas').dataTable( {
/************ funcion para recortar los nombres largos, llama a la funcion que esta hasta arriba ********/
/*
"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
var $cell=$('td:eq(1)', nRow);
$cell.text(ellipsis($cell.text(),30));
return nRow;
},
*/
/*********** fin funcion para recortar los nombres largos, llama a la funcion que esta hasta arriba *****/
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bStateSave": true, // guarda en una cookie todos los parametros de la tabla
"iCookieDuration": 5, // segundos que se guardara la cookie con los parametros
"bProcessing": true,
// parametros de las columnas
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [ 2 ] }
],
// fin parametros de las columnas
"bServerSide": true,
"sAjaxSource": "cuentasxcobrar/miscuentas",
"oLanguage": {
"sProcessing": "Procesando...", //
"sLengthMenu": "Mostrar _MENU_ registros",
"sZeroRecords": "No se encontraron resultados",
"sInfo": "Mostrando desde _START_ hasta _END_ de _TOTAL_ registros",
"sInfoEmpty": "Mostrando desde 0 hasta 0 de 0 registros",
"sInfoFiltered": "(filtrado de _MAX_ registros en total)",
"sSearch": "Buscar en todo:",
"sLoadingRecords": "Please wait - loading...",
//"sSearch": "Buscar:",
"oPaginate": {
"sFirst": "Primero",
"sPrevious": "Anterior",
"sNext": "Siguiente",
"sLast": "último"
}
},
/* row click function */
"fnDrawCallback": function() {
$("#cuentas tbody tr").click(function () {
var nTds = $('td', this);
var cuenta = $(nTds[2]).text();
//var sGrade = $(nTds[4]).text();
//alert(sBrowser);
window.location.href = "http://servicobros/index.php/cuentasxc/detallecuenta/"+cuenta;
} );
}
/* end row click function */
} );
} );
[/code]
And this is the server response I ge in both bVisible: false and bVisible: true
[code]
{"sEcho":0,"iTotalRecords":"59","iTotalDisplayRecords":"59","aaData":[["Trident","Internet Explorer 4.0","Win 95+","4","X"],["Trident","Internet Explorer 4.0","Win 95+","4","X"],["Trident","Internet Explorer 5.0","Win 95+","5","C"],["Trident","Internet Explorer 5.5","Win 95+","5.5","A"],["Trident","Internet Explorer 6","Win 98+","6","A"],["Trident","Internet Explorer 7","Win XP SP2+","7","A"],["Trident","AOL browser (AOL desktop)","Win XP","6","A"],["Gecko","Firefox 1.0","Win 98+ \/ OSX.2+","1.7","A"],["Gecko","Firefox 1.5","Win 98+ \/ OSX.2+","1.8","A"],["Gecko","Firefox 2.0","Win 98+ \/ OSX.2+","1.8","A"],["Gecko","Firefox 3.0","Win 2k+ \/ OSX.3+","1.9","A"],["Gecko","Camino 1.0","OSX.2+","1.8","A"],["Gecko","Camino 1.5","OSX.3+","1.8","A"],["Gecko","Netscape 7.2","Win 95+ \/ Mac OS 8.6-9.2","1.7","A"],["Gecko","Netscape Browser 8","Win 98SE+","1.7","A"],["Gecko","Netscape Navigator 9","Win 98+ \/ OSX.2+","1.8","A"],["Gecko","Mozilla 1.0","Win 95+ \/ OSX.1+","1","A"],["Gecko","Mozilla 1.1","Win 95+ \/ OSX.1+","1.1","A"],["Gecko","Mozilla 1.2","Win 95+ \/ OSX.1+","1.2","A"],["Gecko","Mozilla 1.3","Win 95+ \/ OSX.1+","1.3","A"],["Gecko","Mozilla 1.4","Win 95+ \/ OSX.1+","1.4","A"],["Gecko","Mozilla 1.5","Win 95+ \/ OSX.1+","1.5","A"],["Gecko","Mozilla 1.6","Win 95+ \/ OSX.1+","1.6","A"],["Gecko","Mozilla 1.7","Win 98+ \/ OSX.1+","1.7","A"],["Gecko","Mozilla 1.8","Win 98+ \/ OSX.1+","1.8","A"],["Gecko","Seamonkey 1.1","Win 98+ \/ OSX.2+","1.8","A"],["Gecko","Epiphany 2.20","Gnome","1.8","A"],["Webkit","Safari 1.2","OSX.3","125.5","A"],["Webkit","Safari 1.3","OSX.3","312.8","A"],["Webkit","Safari 2.0","OSX.4+","419.3","A"],["Webkit","Safari 3.0","OSX.4+","522.1","A"],["Webkit","OmniWeb 5.5","OSX.4+","420","A"],["Webkit","iPod Touch \/ iPhone","iPod","420.1","A"],["Webkit","S60","S60","413","A"],["Presto","Opera 7.0","Win 95+ \/ OSX.1+","-","A"],["Presto","Opera 7.5","Win 95+ \/ OSX.2+","-","A"],["Presto","Opera 8.0","Win 95+ \/ OSX.2+","-","A"],["Presto","Opera 8.5","Win 95+ \/ OSX.2+","-","A"],["Presto","Opera 9.0","Win 95+ \/ OSX.3+","-","A"],["Presto","Opera 9.2","Win 88+ \/ OSX.3+","-","A"],["Presto","Opera 9.5","Win 88+ \/ OSX.3+","-","A"],["Presto","Opera for Wii","Wii","-","A"],["Presto","Nokia N800","N800","-","A"],["Presto","Nintendo DS browser","Nintendo DS","8.5","C\/A1<\/sup>"],["KHTML","Konqureror 3.1","KDE 3.1","3.1","C"],["KHTML","Konqureror 3.3","KDE 3.3","3.3","A"],["KHTML","Konqureror 3.5","KDE 3.5","3.5","A"],["Tasman","Internet Explorer 4.5","Mac OS 8-9","-","X"],["Tasman","Internet Explorer 5.1","Mac OS 7.6-9","1","C"],["Tasman","Internet Explorer 5.2","Mac OS 8-X","1","C"],["Misc","NetFront 3.1","Embedded devices","-","C"],["Misc","NetFront 3.4","Embedded devices","-","A"],["Misc","Dillo 0.8","Embedded devices","-","X"],["Misc","Links","Text only","-","X"],["Misc","Lynx","Text only","-","X"],["Misc","IE Mobile","Windows Mobile 6","-","C"],["Misc","PSP browser","PSP","-","C"],["Other browsers","All others","-","-","U"],["Misc","Dolphin Browser Mini for Android 4.1 Ice Cream Sandwich custom release","Android","2.1","A"]]}
[/code]
I think the hide columns with aoColumnDefs is on the client side or I have to make some changes to the php server side scritp?
Let me know
Thanks
Three years ago I made a webpage with ajax call to server side and hide columns wasn't a problem. (1.4.3)
Now I using 1.9.3 and testing the server side example:
http://datatables.net/release-datatables/examples/server_side/server_side.html
but when I try to hide some column I get an empty table when using
[quote] "bVisible": false [/quote]
but if I use
[quote] "bVisible": true [/quote]
it show all the data.
This is the error I get on firefox debug
[quote]
Fecha: 23/08/12 21:04:16
Error: TypeError: a.charCodeAt is not a function
Archivo Fuente: http://template/java/jquery.dataTables.min-1.9.3.js
Línea: 83
[/quote]
This is the javascript code I use:
[code]
/***************** recorta el text a n caracteres si esta muy largo */
//var oTable;
function ellipsis(text, n) {
if(text.length>n)
return text.substring(0,n)+"...";
else
return text;
}
/***************** fin recortar ***************************************/
$(document).ready(function() {
$('#cuentas').dataTable( {
/************ funcion para recortar los nombres largos, llama a la funcion que esta hasta arriba ********/
/*
"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
var $cell=$('td:eq(1)', nRow);
$cell.text(ellipsis($cell.text(),30));
return nRow;
},
*/
/*********** fin funcion para recortar los nombres largos, llama a la funcion que esta hasta arriba *****/
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bStateSave": true, // guarda en una cookie todos los parametros de la tabla
"iCookieDuration": 5, // segundos que se guardara la cookie con los parametros
"bProcessing": true,
// parametros de las columnas
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [ 2 ] }
],
// fin parametros de las columnas
"bServerSide": true,
"sAjaxSource": "cuentasxcobrar/miscuentas",
"oLanguage": {
"sProcessing": "Procesando...", //
"sLengthMenu": "Mostrar _MENU_ registros",
"sZeroRecords": "No se encontraron resultados",
"sInfo": "Mostrando desde _START_ hasta _END_ de _TOTAL_ registros",
"sInfoEmpty": "Mostrando desde 0 hasta 0 de 0 registros",
"sInfoFiltered": "(filtrado de _MAX_ registros en total)",
"sSearch": "Buscar en todo:",
"sLoadingRecords": "Please wait - loading...",
//"sSearch": "Buscar:",
"oPaginate": {
"sFirst": "Primero",
"sPrevious": "Anterior",
"sNext": "Siguiente",
"sLast": "último"
}
},
/* row click function */
"fnDrawCallback": function() {
$("#cuentas tbody tr").click(function () {
var nTds = $('td', this);
var cuenta = $(nTds[2]).text();
//var sGrade = $(nTds[4]).text();
//alert(sBrowser);
window.location.href = "http://servicobros/index.php/cuentasxc/detallecuenta/"+cuenta;
} );
}
/* end row click function */
} );
} );
[/code]
And this is the server response I ge in both bVisible: false and bVisible: true
[code]
{"sEcho":0,"iTotalRecords":"59","iTotalDisplayRecords":"59","aaData":[["Trident","Internet Explorer 4.0","Win 95+","4","X"],["Trident","Internet Explorer 4.0","Win 95+","4","X"],["Trident","Internet Explorer 5.0","Win 95+","5","C"],["Trident","Internet Explorer 5.5","Win 95+","5.5","A"],["Trident","Internet Explorer 6","Win 98+","6","A"],["Trident","Internet Explorer 7","Win XP SP2+","7","A"],["Trident","AOL browser (AOL desktop)","Win XP","6","A"],["Gecko","Firefox 1.0","Win 98+ \/ OSX.2+","1.7","A"],["Gecko","Firefox 1.5","Win 98+ \/ OSX.2+","1.8","A"],["Gecko","Firefox 2.0","Win 98+ \/ OSX.2+","1.8","A"],["Gecko","Firefox 3.0","Win 2k+ \/ OSX.3+","1.9","A"],["Gecko","Camino 1.0","OSX.2+","1.8","A"],["Gecko","Camino 1.5","OSX.3+","1.8","A"],["Gecko","Netscape 7.2","Win 95+ \/ Mac OS 8.6-9.2","1.7","A"],["Gecko","Netscape Browser 8","Win 98SE+","1.7","A"],["Gecko","Netscape Navigator 9","Win 98+ \/ OSX.2+","1.8","A"],["Gecko","Mozilla 1.0","Win 95+ \/ OSX.1+","1","A"],["Gecko","Mozilla 1.1","Win 95+ \/ OSX.1+","1.1","A"],["Gecko","Mozilla 1.2","Win 95+ \/ OSX.1+","1.2","A"],["Gecko","Mozilla 1.3","Win 95+ \/ OSX.1+","1.3","A"],["Gecko","Mozilla 1.4","Win 95+ \/ OSX.1+","1.4","A"],["Gecko","Mozilla 1.5","Win 95+ \/ OSX.1+","1.5","A"],["Gecko","Mozilla 1.6","Win 95+ \/ OSX.1+","1.6","A"],["Gecko","Mozilla 1.7","Win 98+ \/ OSX.1+","1.7","A"],["Gecko","Mozilla 1.8","Win 98+ \/ OSX.1+","1.8","A"],["Gecko","Seamonkey 1.1","Win 98+ \/ OSX.2+","1.8","A"],["Gecko","Epiphany 2.20","Gnome","1.8","A"],["Webkit","Safari 1.2","OSX.3","125.5","A"],["Webkit","Safari 1.3","OSX.3","312.8","A"],["Webkit","Safari 2.0","OSX.4+","419.3","A"],["Webkit","Safari 3.0","OSX.4+","522.1","A"],["Webkit","OmniWeb 5.5","OSX.4+","420","A"],["Webkit","iPod Touch \/ iPhone","iPod","420.1","A"],["Webkit","S60","S60","413","A"],["Presto","Opera 7.0","Win 95+ \/ OSX.1+","-","A"],["Presto","Opera 7.5","Win 95+ \/ OSX.2+","-","A"],["Presto","Opera 8.0","Win 95+ \/ OSX.2+","-","A"],["Presto","Opera 8.5","Win 95+ \/ OSX.2+","-","A"],["Presto","Opera 9.0","Win 95+ \/ OSX.3+","-","A"],["Presto","Opera 9.2","Win 88+ \/ OSX.3+","-","A"],["Presto","Opera 9.5","Win 88+ \/ OSX.3+","-","A"],["Presto","Opera for Wii","Wii","-","A"],["Presto","Nokia N800","N800","-","A"],["Presto","Nintendo DS browser","Nintendo DS","8.5","C\/A1<\/sup>"],["KHTML","Konqureror 3.1","KDE 3.1","3.1","C"],["KHTML","Konqureror 3.3","KDE 3.3","3.3","A"],["KHTML","Konqureror 3.5","KDE 3.5","3.5","A"],["Tasman","Internet Explorer 4.5","Mac OS 8-9","-","X"],["Tasman","Internet Explorer 5.1","Mac OS 7.6-9","1","C"],["Tasman","Internet Explorer 5.2","Mac OS 8-X","1","C"],["Misc","NetFront 3.1","Embedded devices","-","C"],["Misc","NetFront 3.4","Embedded devices","-","A"],["Misc","Dillo 0.8","Embedded devices","-","X"],["Misc","Links","Text only","-","X"],["Misc","Lynx","Text only","-","X"],["Misc","IE Mobile","Windows Mobile 6","-","C"],["Misc","PSP browser","PSP","-","C"],["Other browsers","All others","-","-","U"],["Misc","Dolphin Browser Mini for Android 4.1 Ice Cream Sandwich custom release","Android","2.1","A"]]}
[/code]
I think the hide columns with aoColumnDefs is on the client side or I have to make some changes to the php server side scritp?
Let me know
Thanks
This discussion has been closed.
Replies
Did you ever get this working? I'm having the exact same issue.
I'm using datatables.min.js (1.9.3) and colvis.min.js (1.0.8).
Thanks for any help that you can give.