Ich arbeite an einem Projekt, das jQuery DataTables bevollmächtigte Thema (Smart Admin) verwendet. Ich finde das Tool eine großartige clientseitige Lösung, um die Ergebnisse zu filtern, ohne zum Server zurückzukehren.jQuery DataTable - Spalte ausblenden Problem
Die Tabellenfelder, die wir zeigen, sind nur ein Teil von denen in der Datenbank vorhanden sind, da nicht genügend Platz vorhanden ist. Das Problem besteht darin, dass die Exportfunktion nur diese begrenzten Spalten enthält. Ich rot das, wenn wir eine versteckte Spalte haben, die auch exportierte werden (ex: csv, xls, pdf) etc.
Ich versuchte, ein Feld zu hien und das funktionierte nicht für mich. Ich bin verpflichtet, wenn Sie darauf hinweisen könnten, was ich falsch mache.
I verwiesen den folgenden Artikel: Data Table Example - Hidden Columns
Es gibt noch keine Konsole Fehler und der Rest der Funktionalität waren (Filterung, funktioniert gut Export).
Wie auch immer meine Sorge ist, dass wir vielleicht einen Fehler haben, nicht auf den neuesten Stand gebracht haben. Ich denke wir haben v1.10.
# @fn setup: -> {{{
# @brief Sets up DataTable plugin with the help of the @$_tableId provided.
setupDataTables: ->
self = @
@setupCheckboxes() if @$_bulkControls.length > 0
@$_dataTables = $(@$_tables).dataTable
"columnDefs": [
{
"targets": [1, 2, 3, 4],
"visible": false
}
],
"sDom": "<'dt-toolbar'<'col-xs-12 col-sm-6'f><'col-sm-6 col-xs-6 hidden-xs'T>r>t<'dt-toolbar-footer'<'col-sm-6 col-xs-12 hidden-xs'i><'col-sm-6 col-xs-12'p>>"
"oTableTools": {
"aButtons": [
"copy",
{
"sExtends": "csv",
"sTitle": @generateDocumentName()
},
{
"sExtends": "xls",
"sTitle": @generateDocumentName()
},
{
"sExtends": "pdf",
"sTitle": @generateDocumentName(),
"sPdfMessage": "SmartAdmin PDF Export",
"sPdfSize": "letter"
},
{
"sExtends": "print",
"sMessage": "Generated by SmartAdmin <i>(press Esc to close)</i>"
}
],
"sSwfPath": "<%= asset_path('copy_csv_xls_pdf.swf') %>"
},
"autoWidth" : true,
"preDrawCallback" : ->
# Initialize the responsive datatables helper once.
if !self.$_responsiveHelperDatatableTabletools
self.$_responsiveHelperDatatableTabletools = new ResponsiveDatatablesHelper($('#datatable_tabletools'), self.$_breakpointDefinition)
,
"rowCallback" : (nRow) ->
self.$_responsiveHelperDatatableTabletools.createExpandIcon(nRow)
,
"drawCallback" : (oSettings) =>
@$_responsiveHelperDatatableTabletools.respond()
# Setup bulk control containers if requiredkCo
@setupBulkControls() if @$_bulkControls.length > 0
$("#datatable_tabletools thead th input[type=text]").on 'keyup change', ->
self.$_dataTables
.column($(this).parent().index()+':visible')
.search(this.value)
.draw()
# end of setup: -> }}}
Vielen Dank im Voraus und wünsche euch ein wunderbares Wochenende.
Können hinzufügen Sie [mColumns] (http://datatables.net/extensions/tabletools/button_options#mColumns) Parameter mit 'all' Wert für jede der Tasten (zum Beispiel' { „sExtends ":" xls "," mColumns ":" all ", ...}') und sehen, ob es einen Unterschied macht? Stellen Sie sicher, dass Sie das neueste TableTools-Plug-in verwenden. Außerdem könnte das Problem in der [datatables-responsive] (https://github.com/Comanche/datatables-responsive) Bibliothek sein, die Sie verwenden, es entfernt '' Elemente aus DOM, wenn die Bildschirmgröße reduziert wird. –
Geben Sie den HTML-Code mit Java-Skript –