我正在处理一个项目,使用了jQuery DataTables增强主题(Smart Admin)。我发现这个工具是一种很好的客户端解决方案,特别是过滤结果时无需返回服务器。
我们显示的表字段只是数据库中的一部分,因为没有足够的空间。问题在于导出功能仅包含这些有限列。我阅读了一篇文章,如果我们有一个隐藏列,那么它也会被导出(例如:csv、xls、pdf等)。
我试图隐藏一个字段,但没有成功。如果你能指出我哪里做错了的话,我将不胜感激。
我参考了以下文章:Data Table Example - Hidden Columns。
没有控制台错误,其余功能(过滤、导出)运行良好。
然而我担心可能存在一个漏洞,因为我们没有更新到最新版本。我认为我们使用的是v1.10。
提前感谢你们,祝你们周末愉快。
我们显示的表字段只是数据库中的一部分,因为没有足够的空间。问题在于导出功能仅包含这些有限列。我阅读了一篇文章,如果我们有一个隐藏列,那么它也会被导出(例如:csv、xls、pdf等)。
我试图隐藏一个字段,但没有成功。如果你能指出我哪里做错了的话,我将不胜感激。
我参考了以下文章:Data Table Example - Hidden Columns。
没有控制台错误,其余功能(过滤、导出)运行良好。
然而我担心可能存在一个漏洞,因为我们没有更新到最新版本。我认为我们使用的是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: -> }}}
提前感谢你们,祝你们周末愉快。
all
(例如{ "sExtends": "xls", "mColumns": "all", ... }
),看看是否有任何区别?确保使用最新的TableTools插件。此外,问题可能出在你正在使用的datatables-responsive库中,当屏幕尺寸缩小时,它会从DOM中删除<td>
元素。 - Gyrocode.com