VisualForce页面中的数据表,将swfPath设置为静态资源

DataTables in VisualForce Page, Setting swfPath as Static Resource

本文关键字:设置 swfPath 静态 资源 数据表 VisualForce      更新时间:2023-09-26

我一直在使用VisualForce中的数据表库,除了导出功能外,一切都在工作。我遵循了数据表网站上的样本初始化,但我得到一个错误,即ZeroClipboard.js在TableTools.js文件中未定义。但是,我已经检查并重新检查了多次,并且zeroclipboard.js被列为Chrome中的资源。

我唯一做的事情是不同的,并且无法确定在使函数适应VisualForce是如何正确调用swf文件。目前,我在本地服务器上托管文件,并在函数中显式引用它。这是我的问题吗?上面的错误似乎没有关系,但我认为这是经过广泛的故障排除后唯一剩下的问题。

有谁知道我如何使swf文件在Salesforce的静态资源,并调用它从函数的方式,使文件是在同一台服务器上作为其他一切?

下面是我当前设置数据表的函数(关于swfPath:调用的问题,我如何使用静态资源做到这一点?)

var oTableTools = new TableTools( oTable, {
    "sSwfPath" : "www.MyWebsite.com/resources/copy_csv_xls_pdf.swf",
    "buttons": [
                "copy",
                "csv",
                "xls",
                "pdf",
                { "type": "print", "buttonText": "Print me!" }
               ]
});
$('#demo').before( oTableTools.dom.container );

       

您可以通过将swf文件(您可以在media/swf/copy_csv_xls_pdf中找到它)作为salesforce中的静态资源上传,然后访问它

来做到这一点例如

 oTable = $('#example').dataTable(
            {
                "iDisplayLength": 20,
                "sDom": '<C><"H"T><"clear"><"H"l>t<"F"ip>',
                "oTableTools": {
                "sSwfPath": "{!$Resource.SWF_File}"
                },
                "oColVis": 
                {
                    "activate": "mouseover"
                },
                "bAutoWidth": false,
                "bJQueryUI": true, 
                "sPaginationType": "full_numbers",
                "aaSorting": [[ 2, "asc" ]] ,
                "bLengthChange": false, 
                "bFilter": true