我在保存CSV时使用Datatables的TableTools插件进行了一些测试.
我注意到它可以节省一切.它不关心您是否过滤了行,也不关心是否隐藏了某些列.
有没有办法只保存可见列中的数据?
我正在使用DataTable 1.10和TableTools 2.2.1.
鉴于以下剪辑,我想禁用/启用编辑按钮.
var myTable = $("#myTable ").DataTable({
tableTools : {
"aButtons" : [ {
"sExtends" : "text",
"sButtonText" : "Edit",
"fnClick" : function(nButton, oConfig, oFlash) {
/* some stuff */
}
}]
}
})
Run Code Online (Sandbox Code Playgroud)
是否有可能在运行时执行此操作?
非常感谢
我 在我的本地主机(wamp服务器)中使用 http://datatables.net/extensions/tabletools/.它工作正常,但当我在我的在线服务器上放置相同的代码时,它无法正常工作.
我正在使用所有最新版本的数据表
tableTools: {
"sSwfPath": "https://datatables.net/release-datatables/extensions/TableTools/swf/copy_csv_xls_pdf.swf",
"sRowSelect": "os",
"sRowSelector": 'td:first-child',
// "aButtons": [ "copy", "csv", "xls","pdf","print","select_all", "select_none" ]
"aButtons": [
"copy",
"print", {
"sExtends": "collection",
"sButtonText": "Save", // button name
// "aButtons": [ "csv", "xls", "pdf" ]
"aButtons": [
"csv",
"xls", {
"sExtends": "pdf",
"sPdfOrientation": "landscape",
"sPdfMessage": "List of product."
},
"print"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
首先没有点击copy,pdf,csv,xls按钮.因此,我教我的路径或瑞士法郎不工作,因此我用在线链接替换了链接.因此,现在我点击了,但是当我点击"复制"按钮时,它会给我一条消息......但是当我在记事本中过去时,它给了我"空白".我的pdf,csv,xlsx也没有用.只有Print才能完美运行.请告诉我这是什么问题,因为我的localhost一切正常.它在我的在线服务器中创建问题.
我有一个数据表,其中显示了两个定义了两个自定义按钮的分支数据:添加和更新。它们在Javascript部分的顶部进行了初始化
var buttons;
var tblBranch;
$.fn.dataTable.ext.buttons.add = {
className: 'button-add',
text: "Add Branch",
action: function (dt) {
onBtnAddClicked()
}
};
$.fn.dataTable.ext.buttons.update = {
className: 'button-update',
text: "Update",
action: function (dt) {
onBtnUpdateClicked()
}
};
Run Code Online (Sandbox Code Playgroud)
我想在页面加载时禁用“编辑”按钮,并且仅在选中某行后才使其可单击。问题是,我正在使用自定义按钮,而在datatables.net上找不到有关如何根据条件启用/禁用它们的任何内容。到目前为止,我尝试过的是:
tblBranch = $("#tblBranches").DataTable({
dom: 'Blfrtip',
buttons: {
buttons :[
'add', 'update'
]
}
select: true;
})
$("#tblBranches tbody").on('click', 'tr', function () {
if (tblBranch.row(this).hasClass('selected')) {
$('button-update').removeClass("DTTT_disabled");
}
else {
table.$('tr.selected').removeClass('selected');
$('button-update').addClass("DTTT_disabled");
}
});
Run Code Online (Sandbox Code Playgroud)
但是我不知道在页面加载时禁用“编辑”按钮的代码应该是什么样的,我一直在这里,这里,这里和这里查看。
感谢您的指导。
我使用DataTables-1.8.2,TableTools-2.0.1和JQuery-1.6.4在三个jQuery选项卡中的每一个上显示一个表.TableTools为表提供了复制/ Excel/PDF /打印导出功能,它仅适用于第一个选项卡上的第一个表.在另外两个选项卡上,显示按钮,但除了"打印"按钮之外,它们都不执行任何操作(这是因为"打印"按钮不使用相同的基于Flash的方法).路径不应该是一个问题(我知道.swf
路径是一个常见的问题),因为有效路径的配置只是为其他路由复制.这是在Django服务器上运行的.下面是代码.我主要用Python编写,所以我不太容易使用JS/CSS/DOM,所以任何建议都值得赞赏.
<script type="text/javascript">
$(document).ready(function()
{
// Initiate datatable
fnFeaturesInit();
$('#tbl1').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"sDom": 'T<"clear">lfrtip',
"aaSorting":[],
"oTableTools": { "sSwfPath": "/static/swf/copy_cvs_xls_pdf.swf" }
});
$('#tbl2').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"sDom": 'T<"clear">lfrtip',
"aaSorting":[],
"oTableTools": { "sSwfPath": "/static/swf/copy_cvs_xls_pdf.swf" }
});
$('#tbl3').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"sDom": 'T<"clear">lfrtip',
"aaSorting":[],
"oTableTools": { "sSwfPath": "/static/swf/copy_cvs_xls_pdf.swf" }
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
(...略...)
<div id="tabs" class="ui-tabs" style="float:left">
<ul>
<li><a href="#tabs-1">Table 1</a></li>
<li><a href="#tabs-2">Table 2</a></li>
<li><a href="#tabs-3">Table 3</a></li>
</ul>
<div id="tabs-1" height:"100%">
{% if all_commercial %} …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用最新的tableTool 2.2.0,我做了一个简单的例子jsfiddle.net/9ZTGb/
复制和打印按钮似乎响应,但"复制"导致"空白","CSV","Excel","PDF"似乎根本不工作..
这是表:
<table id="tblExport" class="table table-condensed">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Larry</td>
<td>Smith</td>
<td>@lsmith</td>
<td>Approved</td>
</tr>
<tr>
<td>2</td>
<td>Mark</td>
<td>Williams</td>
<td>@mwills</td>
<td>Pending</td>
</tr>
<tr>
<td>3</td>
<td>Jeremy</td>
<td>Jones</td>
<td>@jj</td>
<td>Success</td>
</tr>
<tr>
<td>4</td>
<td>Carlos</td>
<td>Martin</td>
<td>@cmar</td>
<td>Suspende</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
这是js脚本:
$(document).ready(function () {
$('#tblExport').dataTable({
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sSwfPath": "https://datatables.net/release-datatables/extras/TableTools/media/swf/copy_csv_xls_pdf.swf",
"aButtons": ["copy", "csv", "xls", "pdf", "print"]
}
});
});
Run Code Online (Sandbox Code Playgroud)
如果有人能告诉我它为什么不起作用,我真的很感激.这里的例子和jsfiddle我试图尽可能简单,但仍然没有真正工作..
这个问题已经被以前问R 2与TableTools和其他扩展闪亮数据表和使用TableTools为R中闪亮的DataTable的renderDataTable但我目前正在努力让TableTools的这个示范从一个闪亮的应用程序下载CSV或XLS.该按钮似乎工作,csv/xls选项可用,但没有任何反应.我唯一能想到的是将数据表版本从1.9.4更新到1.10.1,但仍然没有.所有其他路径都是最新的,除非我犯了一些愚蠢的错误.谢谢.
library(shiny)
library(ggplot2)
runApp(
list(ui = basicPage(
h1('Diamonds DataTable with TableTools'),
tagList(
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables/1.9.4/jquery.dataTables.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/TableTools.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/ZeroClipboard.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/css/TableTools.min.css',rel='stylesheet',type='text/css'))),
singleton(tags$script(HTML("if (window.innerHeight < 400) alert('Screen too small');")))
),
dataTableOutput("mytable")
)
,server = function(input, output) {
output$mytable = renderDataTable({
diamonds[,1:6]
}, options = list(
"sDom" = 'T<"clear">lfrtip',
"oTableTools" = list(
"sSwfPath" = "//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/swf/copy_csv_xls.swf",
"aButtons" = list(
"copy",
"print",
list("sExtends" = "collection",
"sButtonText" = "Save",
"aButtons" = c("csv","xls")
)
)
)
)
)
})
)
Run Code Online (Sandbox Code Playgroud) 下面的代码生成一个DataTable输出,我希望使用“电子邮件”按钮通过电子邮件发送它,类似于下面创建的“导出”按钮。有没有简单的方法来添加按钮,以便在单击时弹出Microsoft Outlook以将数据表作为附件发送,例如以csv格式发送?
#Load required packages
require(shiny)
#Create a dataframe
df <- data.frame(random=1:160)
server <- function(input,output,session){
#Display df using DataTable and apply desired options
output$display <- renderDataTable({df},
option=list(pageLength=100,
"dom" = 'T<"clear">lfrtip',
"tableTools" = list(
"sSwfPath" = "//cdn.datatables.net/tabletools/2.2.3/swf/copy_csv_xls_pdf.swf",
"aButtons" = list(list("sExtends" = "csv","oSelectorOpts"=list("page"="all"),"sButtonText" = "Export","aButtons" ="csv")))
)
)
}
ui <- shinyUI(fluidPage(
#Add a title
h1('Testing TableTools'),
#Add required JS libraries
tagList(
singleton(tags$head(tags$script(src='//cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdn.datatables.net/tabletools/2.2.3/js/dataTables.tableTools.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdn.datatables.net/tabletools/2.2.3/css/dataTables.tableTools.css',rel='stylesheet',type='text/css')))
),
mainPanel(
#Display results
dataTableOutput('display')
)
))
shinyApp(ui = ui, server = …
Run Code Online (Sandbox Code Playgroud) 我有一个下载按钮,当点击下载按钮时,将显示选项.但我必须用汉堡包图标替换它.我怎样才能做到这一点
当我点击汉堡包图标时,应显示以下选项:
下载按钮必须更改为汉堡包图标
单击按钮时,必须显示选项
有没有办法实现这个目标?
这是我的数据表代码:
$(document).ready(function () {
$('#ItemTable').DataTable({
responsive: true,
scrollX: true,
lengthMenu: [10, 20, 50, 200, 400, 500, 1000],
dom: 'T<"clear">lfrtip',
"tableTools": {
"sSwfPath": "/Content/TableTools/swf/copy_csv_xls_pdf.swf",
"aButtons": [{
"sExtends": "collection",
"fnInit": function (node) {
formatTableToolsButton(node, 'ui-icon-print');
},
"sButtonText": "Download",
"aButtons": [{
'sExtends': "csv",
'sButtonText': "Save as CSV",
'fnClick': function (nButton, oConfig, flash) {
customName = getCustomFileName() + ".csv";
flash.setFileName(customName);
this.fnSetText(flash, this.fnGetTableData(oConfig));
}
}, {
'sExtends': "xls",
'sButtonText': "Export as Excel",
'fnClick': function (nButton, oConfig, flash) {
customName = …
Run Code Online (Sandbox Code Playgroud) 我正在使用TableTools,它是DataTables HTML表增强器的插件,它为DataTable添加了一个高度可自定义的按钮工具栏.主要功能包括:
这是一个快速适应和可编码的基于闪存的插件.这对我来说很好.
即使我在这里尝试了所有可能的出口方式并满足我的所有要求.
我在这里遇到的问题是这个导出到file.x对私有浏览器(隐身)实例不起作用,它无法在目的地保存文件.
为了快速参考,您可以尝试这个例子.
任何人都可以建议我如何实现这一目标,如果不可能的话,背后的原因是什么?
任何建议都会非常感谢提前谢谢!
我使用TableTools导出功能,但它无法正常工作.只打印buttin工作和显示弹出和隐藏.我从这个帖子得到了建议,但没有给我明确的想法.以下是我的实施
$('#example').dataTable({
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sSwfPath": "copy_csv_xls_pdf.swf"
}
});
Run Code Online (Sandbox Code Playgroud)
我已将.swf文件保存在我的服务器页面所在的同一文件夹中.我也尝试过"sDom": 'T<"clear"><"H"lfr>t<"F"ip>',
.但不适合我.另外我有人建议有一些需要配置的flash播放器的安全设置.使用此功能需要Flash播放器吗?或者实施中出了什么问题.请建议.
tabletools ×11
datatables ×9
jquery ×5
r ×2
shiny ×2
css ×1
csv ×1
datatable ×1
export ×1
flash ×1
javascript ×1