如何将 tabletools 添加到现有数据表?

Posted

技术标签:

【中文标题】如何将 tabletools 添加到现有数据表?【英文标题】:how to add tabletools to existing datatables? 【发布时间】:2015-08-01 00:48:15 【问题描述】:

好的,伙计们,我有一个使用 jquery 数据表的动态表的页面

 <div class="widget">

<div class="widget-head">
<h5>Usuarios</h5>
</div>

<div class="widget-body">
<div class="row">
<div class="col-md-12">
<div class="table-responsive">
<table cellpadding="0" cellspacing="0" border="0" id="data-table" >
<thead>
<tr>
<th><?php echo lang('index_fname_th');?></th>
        <th><?php echo lang('index_lname_th');?></th>
        <th><?php echo lang('index_email_th');?></th>
        <th><?php echo lang('index_groups_th');?></th>
                <th><?php echo lang('index_code_th');?></th>
        <th><?php echo lang('index_status_th');?></th>
        <th><?php echo lang('index_action_th');?></th>
                <th><?php echo lang('index_net_th');?></th>
</tr>
</thead>
<tbody>
                                    <?php foreach ($users as $user):?>
        <tr>
            <td><?php echo htmlspecialchars($user->first_name,ENT_QUOTES,'UTF-8');?></td>
            <td><?php echo htmlspecialchars($user->last_name,ENT_QUOTES,'UTF-8');?></td>
            <td><?php echo htmlspecialchars($user->email,ENT_QUOTES,'UTF-8');?></td>
            <td>
        <?php foreach ($user->groups as $group):?>
            <?php echo anchor("auth/edit_group/".$group->id, htmlspecialchars($group->name,ENT_QUOTES,'UTF-8')) ;?><br />
                <?php endforeach?>
            </td>
                        <td><?php echo htmlspecialchars($user->codigo,ENT_QUOTES,'UTF-8');?></td>
            <td><?php echo ($user->active) ? anchor("auth/deactivate/".$user->id, lang('index_active_link')) : anchor("auth/activate/". $user->id, lang('index_inactive_link'));?></td>
            <td><?php echo anchor("auth/edit_user/".$user->id, 'Edit') ;?></td>
                        <td><?php echo htmlspecialchars($user->red,ENT_QUOTES,'UTF-8');?></td>
        </tr>
    <?php endforeach;?>
                                </tbody>
<tfoot>
<tr>
<th><?php echo lang('index_fname_th');?></th>
        <th><?php echo lang('index_lname_th');?></th>
        <th><?php echo lang('index_email_th');?></th>
        <th><?php echo lang('index_groups_th');?></th>
                <th><?php echo lang('index_code_th');?></th>
        <th><?php echo lang('index_status_th');?></th>
        <th><?php echo lang('index_action_th');?></th>
                <th><?php echo lang('index_net_th');?></th>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
</div>

<div class="widget-foot">

</div>

</div>

编辑:

这是我的 js 脚本:

/* Data Table */
/* ********** */

$(document).ready(function() 
    $('#data-table').dataTable(
       "sPaginationType": "full_numbers",
         "dom": 'T<"clear">lfrtip'
    );
);

/* ****************************** */

我的 css 是您从数据表网页下载的大文件。

我花了将近一周的时间尝试将表格工具添加到我的代码中,我只是无法理解文档,请谁能指出我正确的方向。

谢谢大家!

【问题讨论】:

你的意思是“数据表”的“表格工具”吗? 那么它在做什么或不做什么......或者它工作或不工作......或者表格是否显示或不显示......还有你在哪里看到的标题数据表工作所需的 JS 和 CSS ... 好数据表工作正常,我只是想添加表工具 【参考方案1】:

先导入数据tabletools包 之后解压缩项目文件夹所在的文件夹 之后包含源文件 像这样

<script src="http://localhost:88/project_name/DataTables-1.10.7/media/js/jquery.js"></script>
<script src="http://localhost:88/project_name/DataTables-1.10.7/media/js/jquery.dataTables.js"></script>
<script src="http://localhost:88/project_name/DataTables-1.10.7/extensions/TableTools/js/dataTables.tableTools.min.js"></script>
<link href="http://localhost:88/project_name/DataTables-1.10.7/media/css/jquery.dataTables.css"rel="stylesheet">
<link href="http://localhost:88/project_name/DataTables-1.10.7/extensions/TableTools/css/dataTables.tableTools.css"rel="stylesheet">

然后 包含jquery函数

<script>
$(document).ready(function() 
$('#index1').DataTable( 
dom: 'T<"clear">lfrtip',
tableTools: 
        "sSwfPath": "http://localhost:88/project_name/DataTables1.10.7/extensions/TableTools/swf/copy_csv_xls.swf"
    
 );

 );
</script>

这里 index1 是表 id

【讨论】:

【参考方案2】:

好的。

表格工具是数据表格的插件,需要一些步骤才能使其工作。

我看不到你的标题,所以我不知道你包含了什么(js,css)

首先,您需要拥有标准数据表的所有脚本/css。

除了你需要去https://www.datatables.net/extensions/tabletools/plug-ins并下载/保存javascript并将其添加到你要加载的标题中,你还需要在标题中下载、保存和加载表格工具css表 -我再一次看不到你这样做了。

转到https://www.datatables.net/release-datatables/extensions/TableTools/examples/simple.html,将所有 HTML/JS/CSS 保存在本地并创建一个文件以在本地进行测试。一旦使用外部文件开始包括您服务器上的文件(js/css) - 如果它仍然有效,您就知道您拥有所有必需的库。

然后尝试您的代码 - 如果它不起作用,请将 SIMPLE 表放入其中 - 您甚至可以使用表格工具站点中的那个。

如果它仍然无法工作,调试控制台会告诉您什么(Firefox/Chrome)?

【讨论】:

【参考方案3】:

将 tabletools swf 文件添加到您的数据表选项中,并将数据表 js 和 css 文件添加到您的代码中

$('#status_table').DataTable(
    "tableTools": 
        "sSwfPath": "packages/datatables-tabletools/swf/copy_csv_xls_pdf.swf"
    
);

【讨论】:

以上是关于如何将 tabletools 添加到现有数据表?的主要内容,如果未能解决你的问题,请参考以下文章

r 这显示了如何将DataTables插件(在本例中为TableTools)添加到您的Shiny应用程序中。

TableTools 未加载到 DataTables 表上

如何将标识属性添加到 SQL Server 中的现有列

将 jetpack compose 添加到现有项目

如何从表中将列添加到现有视图? [复制]

如何在不覆盖现有记录的情况下将新行添加到数据表