Twitter bootstrap 3 引导数据表标头和列不相同

Twitter bootstrap 3 引导数据表标头和列不相同,twitter-bootstrap-3,datatable,Twitter Bootstrap 3,Datatable,我在我的PHP项目中使用了bootstrap服务器端数据表,它工作起来很有魅力,但我的问题是表的最后一列是分开的边框,没有显示出来,我不知道为什么 打印页面中数据表的另一个问题是,列的标题与列不相同 最后一列不显示单独的边框: 打印视图中的列和标题不相同: Html代码: <table class="table table-bordered cell-border" width="100%" cellspacing="0" id="patientsReport">

我在我的PHP项目中使用了bootstrap服务器端数据表,它工作起来很有魅力,但我的问题是表的最后一列是分开的边框,没有显示出来,我不知道为什么

打印页面中数据表的另一个问题是,列的标题与列不相同

  • 最后一列不显示单独的边框:
  • 打印视图中的列和标题不相同:
  • Html代码:

    <table class="table table-bordered cell-border" width="100%" cellspacing="0" id="patientsReport">
                        <thead>
                            <tr>
                                <th class="text-center">تاریخ</th>
                                <th class="text-center">نام</th>
                                <th class="text-center">وضیت روحی</th>
                                <th class="text-center">انرژی</th>
                                <th class="text-center">تغذیه</th>
                                <th class="text-center">ورزش</th>
                                <th class="text-center">خستگی</th>
                                <th class="text-center">فعالیت</th>
                                <th class="text-center">خواب</th>
                                <th class="text-center">عوامل تاثیرگذار بر خواب</th>
                                <th class="text-center">سایر علائم</th>
                                <th class="text-center">یادداشت</th>
                            </tr>
                        </thead>
             </table>
    
    
    تاریخ
    نام
    وضیت روحی
    انرژی
    تغذیه
    ورزش
    خستگی
    فعالیت
    خواب
    عوامل تاثیرگذار بر خواب
    سایر علائم
    یادداشت
    
    Javascript代码:

    $('#patientsReport').dataTable({
            dom: 'Bfrtip',
            buttons: [
                {
                    extend: 'copy',
                    titleAttr:'کپی' ,
                    text: '<i class="fa fa-files-o"></i>',
                    columns: ':visible'
                },
                {
                    text: '<i class="fa fa-print"></i>',
                    action: function ( e, dt, node, config ) {
                        window.onafterprint = function(){
                            $('.dt-buttons').show();
                        };
                        $('.dt-buttons').hide();
                        window.print();
                    }
                },
                {
                    extend: 'excel',
                    text: '<i class="fa fa-file-excel-o"></i>',
                    columns: ':visible'
                },
            ],
    
            "processing": true,
            "serverSide": true,
            "paging": false,
            "searching": false,
            "info": false,
            "ordering": false,
            'ajax': '<?php echo $rdr_str ?>',
            'language': {
                url : 'Resources/lang/Persian.json'
            },
            scrollX:        true,
            scrollCollapse: true,
            columnDefs: [
    
            ],
            fixedColumns: false,
            "columns": [
                { data: "15", },
                { data: "1" },
                { data: "9", visible: <?php echo $chkMental ?> },
                { data: "6", visible: <?php echo $chkEnergy ?> },
                { data: "12", visible: <?php echo $chkNutrition ?> },
                { data: "10", visible: <?php echo $chkSport ?> },
                { data: "7", visible: <?php echo $chkFatigue ?> },
                { data: "11", visible: <?php echo $chkActivity ?> },
                { data: "5", visible: <?php echo $chkSleep ?> },
                { data: "18", visible: <?php echo $chkSleep2 ?> },
                { data: "8", visible: <?php echo $chkOther ?> },
                { data: "17", visible: <?php echo $chkNote ?> },
                // { data: "16" },
    
            ]
        });
    
    $('#patientsReport')。数据表({
    dom:'Bfrtip',
    按钮:[
    {
    扩展:“复制”,
    标题:标题:“کپی”,
    文本:“”,
    列:“:可见”
    },
    {
    文本:“”,
    动作:函数(e、dt、节点、配置){
    window.onafterprint=函数(){
    $('.dt按钮').show();
    };
    $('.dt按钮').hide();
    window.print();
    }
    },
    {
    扩展:“excel”,
    文本:“”,
    列:“:可见”
    },
    ],
    “处理”:对,
    “服务器端”:正确,
    “分页”:false,
    “搜索”:错误,
    “信息”:错误,
    “命令”:错误,
    “ajax”:“,
    “语言”:{
    url:'Resources/lang/posian.json'
    },
    是的,
    对,,
    columnDefs:[
    ],
    fixedColumns:false,
    “栏目”:[
    {数据:“15”},
    {数据:“1”},
    {数据:“9”,可见:},
    {数据:“6”,可见:},
    {数据:“12”,可见:},
    {数据:“10”,可见:},
    {数据:“7”,可见:},
    {数据:“11”,可见:},
    {数据:“5”,可见:},
    {数据:“18”,可见:},
    {数据:“8”,可见:},
    {数据:“17”,可见:},
    //{数据:“16”},
    ]
    });
    
  • 尝试在单元格中添加一个html空白,看看这是否解决了问题,或者可能与您的第二个问题有关

  • 您使用的是
    scrollX:true,
    ,这实际上会导致插件为标题和正文创建2个独立的表,然后将它们对齐以获得窗口宽度

  • 有时,这两个表的列可能不完全匹配,但有点不相等。但从您的屏幕截图判断,我认为在渲染时存在javascript错误

    此外,请尝试调整浏览器的大小,以查看列是否会对齐。 如果是这样,您可以尝试在初始化后重新加载标题:

    $('#patientsReport').on('init', function(){
         $('#patientsReport').fixedHeader.adjust();
    });
    
  • 尝试在单元格中添加一个html空白,看看这是否解决了问题,或者可能与您的第二个问题有关

  • 您使用的是
    scrollX:true,
    ,这实际上会导致插件为标题和正文创建2个独立的表,然后将它们对齐以获得窗口宽度

  • 有时,这两个表的列可能不完全匹配,但有点不相等。但从您的屏幕截图判断,我认为在渲染时存在javascript错误

    此外,请尝试调整浏览器的大小,以查看列是否会对齐。 如果是这样,您可以尝试在初始化后重新加载标题:

    $('#patientsReport').on('init', function(){
         $('#patientsReport').fixedHeader.adjust();
    });
    

    请在那里传递{data:“15”,visible:},{data:“1”,visible:}而不是{data:“15”,},{data:“1”},

    请在那里传递{data:“15”,visible:},{data:“1”,visible:}而不是{data:“15”,},{data:“1”},

    请确保包含像dataTables.bootstrap.min.js这样的所有资源

  • 您可以通过添加类来解决边界问题

    .yourtable_container table,th,td{border:1px solid#ddd!important;}

    或将类添加到特定列中

    “columnDefs”:[{className:“您的类”,“目标”:[0]}]

  • 对于printview,请尝试此选项

    exportOptions:{stripHtml:false}

    或者您可以像这样通过类自定义printview。也尝试

    按钮:[
    {
    扩展:“打印”,
    出口选择:{
    stripHtml:false
    },
    文本:“打印”,
    自定义:功能(win){
    $(win.document.body).find('表')
    .addClass('compact')
    .css('font-size','inherit');
    }
    }
    ]
    

  • 确保包含所有资源,如dataTables.bootstrap.min.js

  • 您可以通过添加类来解决边界问题

    .yourtable_container table,th,td{border:1px solid#ddd!important;}

    或将类添加到特定列中

    “columnDefs”:[{className:“您的类”,“目标”:[0]}]

  • 对于printview,请尝试此选项

    exportOptions:{stripHtml:false}

    或者您可以像这样通过类自定义printview。也尝试

    按钮:[
    {
    扩展:“打印”,
    出口选择:{
    stripHtml:fa