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

时间:2015-05-20 00:36:39

标签: php jquery codeigniter datatables tabletools

好的伙计们,我有一个页面,其中包含使用jquery数据表的dinamic表

 <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" width="100%">
<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是您从datatables网页下载的大文件。

我花了将近一个星期的时间尝试将表格工具添加到我的代码中,我只是无法理解文档,任何人都可以指出我正确的方向。

谢谢大家!

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

确定。

表工具是数据表的PLUGIN,需要执行许多步骤才能使其工作。

我看不到你的标题,所以我不知道你所包含的内容(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)?

答案 2 :(得分:0)

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

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