Jquery数据表 - 表头和列宽不匹配

时间:2013-07-05 05:18:10

标签: jquery jquery-ui css3 datatables

我正在寻找帮助jquery数据表标题和列宽度大小不匹配。我的意思是列大小根据文本长度(数据表值)而变化。如何修复列应该是标准宽度并与故事标题匹配。

另一个问题是分页。我正在寻找像Example of pagination一样的分页风格,但我的表格并没有相同的风格。请帮助我。

另一个请求将相同的主题应用于数据表的主题(主题redmond)。

请在jsfiddle JSFIDDLE

中找到我的数据表
$("#products1").dataTable({
       "aaData": newarray,
       "bProcessing": true,
       "bDeferRender": true,
       "bFilter": false,
       "bJQueryUI": true,
       "sPaginationType": "full_numbers",
       "bRetrieve": true,
       "bPaginate": true,
       "bSort": true,
       "aaSorting": [[4, "desc"]],
       "iDisplayLength": 5,
       "oLanguage":{
                "sInfo":"_START_-_END_ of _TOTAL_",
                "oPaginate":{
                    "sFirst": "<<",
                    "sLast": ">>",
                    "sNext": ">",
                    "sPrevious": "<" 
                },
                "sLengthMenu":"Show _MENU_"
            },
       "aoColumns": [{"sWidth": "100%","sClass": "center","bSortable": false},
             {
            "sWidth": "150%","sClass": "center","bSortable": false},
             {
            "sWidth": "150%","sClass": "center","bSortable": false},
             {
            "sWidth": "150%","sClass": "center","bSortable": false}


            ],
        "aoColumnDefs": [{ "fnRender": function (o, val) {
            return o.aData[0];
        },
            "sClass": "HEADER","aTargets": [0]
    }, {
        "fnRender": function (o, val) {

            return o.aData[1];
        },
            "sClass": "list","aTargets": [1]
    }, {
    "fnRender": function (o, val) {

            return o.aData[2];
        },
            "sClass": " Number","aTargets": [2]
    },{
    "fnRender": function (o, val) {

            return o.aData[3];
        },
            "sClass": "Name","aTargets": [3]
    }]

});

4 个答案:

答案 0 :(得分:3)

您需要将其放在固定大小列的表中

编辑:您错过了以表格样式写表格宽度和布局,希望以下内容对您有用

<table border="1" cellspacing="0" cellpadding="0" id="products" style="clear:both;layout:fixed;width:400px;">
    <col style="width: 40%"/>
        <col style="width: 30%"/>
        <col style="width: 10%"/>
        <col style="width:20%"/>

检查更新已更新fiddle

答案 1 :(得分:1)

这只是codeomnitrix的一个小错字,但答案是正确的。而不是布局,它应该是表格布局:

style="clear:both;table-layout:fixed;width:400px;"

这将覆盖导致标题和正文列不匹配的bootstrap CSS设置。

答案 2 :(得分:1)

在任何上下文中使用的此语句都会将标题与列匹配。我建议将其绑定到绑定到UI更改的函数中。

$($.fn.dataTable.tables(true)).DataTable().columns.adjust();

https://www.gyrocode.com/articles/jquery-datatables-column-width-issues-with-bootstrap-tabs/

答案 3 :(得分:0)

$('table.dataTable').wrap('<div class="datatableWrapperdiv"></div>')

以下css

.datatableWrapperdiv{ overflow-x:auto; width:100%; }