Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery DataTables-更新列标题,然后重新绘制_Jquery_Datatables - Fatal编程技术网

Jquery DataTables-更新列标题,然后重新绘制

Jquery DataTables-更新列标题,然后重新绘制,jquery,datatables,Jquery,Datatables,我希望能够通过jquery为datatable更新列标题。表格将为空(除标题外),列标题将根据使用的输入进行更改。我使用的是datatables 1.10.9 创建数据表 $('#tbl1').dataTable({ "autoWidth":false , "info":false , "JQueryUI":true , "ordering":true , "paging":false ,

我希望能够通过jquery为datatable更新列标题。表格将为空(除标题外),列标题将根据使用的输入进行更改。我使用的是datatables 1.10.9

创建数据表

    $('#tbl1').dataTable({
          "autoWidth":false
        , "info":false
        , "JQueryUI":true
        , "ordering":true
        , "paging":false
        , "scrollY":"470px"
        , "scrollX":"1485px"
        , "scrollCollapse":true
        , "columnDefs": [
                    { className: "LeftNoWrap", "targets": [ 0,1 ] }
                ,   { className: "CenterNoWrap", "targets": [ 2,3 ] }
                ,   { className: "RightNoWrap", "targets": [ 4,5,6,7,8,9,10,11,12,13 ] }
            ]
    });
创建局部变量

    var dTable = $('#tbl1').DataTable();
更新列标题

    $(dTable.column(1).header()).text('My title');
加载数据

    for (var i = 0; i < Data.length; i++) {
        .....
    }
    dTable.draw();
for(变量i=0;i
但是,这些列现在没有对齐

在我看来,更改标题的“正确”方法是

dTable.columns(1).header()到$().text('My title)
但是,这些列现在没有对齐

很难真正证明概念,因为我们没有一个例子来说明这个问题。但是,我认为您只需要在插入新数据后重新调整列:

dTable.columns.adjust().draw();

一个小演示->

太棒了。如果问题还与datatable链接在一个封闭的accordion部分内,则不会发生。所以,实际上,它是隐藏的。在“细节”手风琴部分展开后,我将数据表的填充/重画移动到。不管怎样,它工作得很好。谢谢