Tengo una tabla de datos con columnas fijas. Se inicializa de la siguiente manera:
$('#someTable').DataTable({ "dom" :'<flitp>', "columnDefs": [{"targets":[9,10], "searchable":false, "visible":false}], "pageLength": 10, "lengthMenu": [[100,150,250,500,-1], [100,150,250,500,"All"]], "fnInitComplete": function (oSettings, json) { /*let table = this.api(); new $.fn.dataTable.FixedColumns( table, { leftColumns:3, rightColumns:1, } );*/ }, "fixedColumns": { "leftColumns":3, "rightColumns":1 } });En la inicialización, Datatable agrega atributos como 'izquierda' y 'pegajoso' a estas celdas. El problema surge cuando trato de reiniciar la tabla.
dwr.util.removeAllRows("tableBody"); if ( $.fn.DataTable.isDataTable( '#someTable' ) ) { $('#someTable').DataTable().clear().draw(); $('#someTable').DataTable().destroy(); }Destruyo la mesa antes de volver a hacer la mesa. Pero después de la reinicialización, solo los encabezados permanecen fijos y no las columnas del cuerpo. Para las celdas en la posición del cuerpo, la propiedad "izquierda" se establece en "0px" para todas las columnas fijas. Cualquier ayuda apreciada. Editar : el problema anterior se resuelve cuando ordeno la tabla o busco algo en la tabla; la estructura de la tabla se soluciona por sí sola. No estoy seguro de qué está causando el problema.
Actualización : descubrí que este problema se avecina porque mantuve las últimas 2 columnas ocultas. Si mantengo esas columnas visibles, no me enfrento a este problema. ¡Aunque todavía necesito una solución para esto!
Como se mencionó en mi 'Actualización', este problema se debió a la ocultación de 2 columnas y también a la corrección de las primeras columnas. Mi problema se resolvió al no definir la propiedad de la columna oculta en las opciones, sino al ocultar esas columnas más tarde, después de inicializar la tabla.
table.columns([9,10]).visible(false,true);