Bootstrap4 Datatables打印自定义样式丢失

如何解决Bootstrap4 Datatables打印自定义样式丢失

我正在将Bootstrap 4与Datatables一起使用,发现使用引导程序时,我会松开以打印格式和自定义功能设置的样式。

我在jsfiddle中有一个example

在jsfiddle代码中,我未对bootstrap4 JS进行注释。.单击“打印”时,对话框将弹出,并且其他页面具有正确的bg颜色,但是弹出的打印对话框不再具有它。.

如果注释掉bootstrap4并取消注释Datatables默认样式并进行相同的测试,则会看到打印对话框保持bg颜色。使用jquery时也是如此。

我的应用程序正在使用Bootstrap4,因此我需要它来工作。

对于解决此问题的任何帮助,我们将不胜感激。

这也是jsfiddle中的页面代码

<!DOCTYPE html>
<html lang="en">
    <head>
    <title>dt-test</title>
    </head>
    <!--  Datatables - Bootstrap4-->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.css"/>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.21/css/dataTables.bootstrap4.css"/>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.3/css/buttons.bootstrap4.css"/>
 
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.21/js/dataTables.bootstrap4.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.3/js/dataTables.buttons.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.3/js/buttons.bootstrap4.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.3/js/buttons.print.js"></script>


<!-- Datatables default DT styles -->
<!--  
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.21/css/jquery.dataTables.css"/>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.3/css/buttons.dataTables.css"/>
 
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.3/js/dataTables.buttons.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.3/js/buttons.print.js"></script>
-->


    
  

    <style>
        td.score_red {
          background-color: red;
        }
        td.score_yellow {
          background-color: yellow;
        }
        td.score_green {
          background-color: green;
        }
      </style>
      <script type="text/javascript">

        var dataSet = [
            { "itemKey" : 15,"userID": 25,"user" : {"id":25,"lname":"Doe","fname":"John"},"scores" : 1,"evidence": [],"description": "some item description" }
        ];

        $(document).ready(function() {
            $('#previewresultstable').DataTable(
            {
            
                data: dataSet,dom : 'Bfrtip',columns : [ {
                    "data" : "itemKey"
                },{
                    "data" : "userID",render: function ( data,type,row,meta) {
                         return '<a href="user_profile.jsp?patientId=' + row.userID +' ">' + row.user.lname + ',' + row.user.fname + '</a>';
                    }
                },{
                    "data" : "itemResult",render: function( data,row ) {
                        return row.scores;
                                
                    }
                },{ 
                    "data" : "evidenceCount",row ) {
                        var res = 'No Evidence Found';
                        if(data > 0)
                            res = '<button type="button" class="btn btn-info btn-sm" data-toggle="modal" data-target="#evidencemodal" data-preview="true" data-userId="' + row.user.id + '" data-itemKey="' +  row.itemKey + '">View Records</button>';
                        return res;
                    }                   
                },{
                    "data" : "description"
                }
                 ],select : true,lengthMenu : [ [ 5,25,50,-1 ],[ '5 rows','25 rows','50 rows','Show all' ] ],buttons : [  {
                    extend : 'print',exportOptions: {
                        columns: [0,1,2,4],format: {
                            body: function ( inner,rowidx,colidx,node ) {
                                    if (node.classList.contains('score_red')) {
                                      return '<span class="score_red">' + inner + '</span>';
                                    } else if (node.classList.contains('score_yellow')) {
                                      return '<span class="score_yellow">' + inner + '</span>';
                                    } else if (node.classList.contains('score_green')) {
                                      return '<span class="score_green">' + inner + '</span>';
                                    } else {
                                      return inner;
                                    }
                                }
                        }
                    },customize: function(win,button,tableapi){
                        
                            
                            $(win.document.body).find('span.score_red').parent().css('background-color','red');
                            $(win.document.body).find('span.score_yellow').parent().css('background-color','yellow');
                            $(win.document.body).find('span.score_green').parent().css('background-color','green');
                        
                        
                    }
                    
                } ],rowCallback: function(row,data,index){
                    if(data.scores <= 1){
                        $(row).find('td:eq(2)').addClass('score_red');
                    }
                    if(data.scores > 1  && data.scores <=2 ){
                        $(row).find('td:eq(2)').addClass('score_yellow');
                    }
                    if(data.scores > 2){
                        $(row).find('td:eq(2)').addClass('score_green');
                    }
                   
                },order : [],responsive : true
            });

        });

      </script>

    <body>

      <div id="page-wrapper">
    <div class="container-fluid">
        <div class="row">
            <div class="col-lg-12">
                <div id="previewresultsrow" >
                    <div class="panel-group">
                        <div class="panel panel-primary">
                        
                            <!-- /.panel-heading -->
                            <div id="previewresultspanel" >
                                <div class="panel-body">
                                    <div class="dataTable_wrapper">
                                        <table class="table table-striped table-bordered table-hover"
                                            id="previewresultstable" style="width: 100%">
                                            <thead>
                                                <tr>
                                                    <th>Item</th>
                                                    <th>Patient Name</th>
                                                    <th>Score</th>
                                                    <th>Evidence</th>
                                                    <th>Description</th>
                                                </tr>
                                            </thead>
                                            <tbody>
                                            </tbody>
                                        </table>
                                    </div>
                                    <!-- /.table-responsive -->
                                </div>
                            </div>
                            <!-- /.panel-body -->
                        </div>
                    </div>
                    <!-- /.panel -->
                </div>


            </div>
            <!-- /.col-lg-12 -->
        </div>
        <!-- /.row -->
    </div>
    <!-- /.container-fluid -->
</div>
<!-- /#page-wrapper -->


    </body>


</html>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)&gt; insert overwrite table dwd_trade_cart_add_inc &gt; select data.id, &gt; data.user_id, &gt; data.course_id, &gt; date_format(
错误1 hive (edu)&gt; insert into huanhuan values(1,&#39;haoge&#39;); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive&gt; show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 &lt;configuration&gt; &lt;property&gt; &lt;name&gt;yarn.nodemanager.res