使用aoColumnDefs在jQuery Datatables中设置列宽

时间:2014-02-11 14:33:02

标签: jquery json datatables

我使用Datatables通过ajax从我的数据库中显示动态数据。由于用户可以过滤数据,因此并非始终显示所有可能的列。我想设置某些列的宽度,因此决定在标题数据中使用aTargets,然后使用aoColumnDefs挑选出某些列并更改宽度。出于某种原因,这不起作用。

您可以在下面看到我的代码,我通过ajax获取json数据并每次使用"bDestroy": true,重新创建数据表

表标题JSON:

[{"sTitle":"Category","aTargets":[0]},{"sTitle":"Tag Title","aTargets":[1]},{"sTitle":"Question","aTargets":[2]},{"sTitle":"Date\/Time","aTargets":[3]},{"sTitle":"Score","aTargets":[4]},{"sTitle":"Comment","aTargets":[5]},{"sTitle":"First Node","aTargets":[6]},{"sTitle":"Second Node","aTargets":[7]},{"sTitle":"Thrid Node","aTargets":[8]},{"sTitle":"Forth Node","aTargets":[9]},{"sTitle":"Fifth Node","aTargets":[10]},{"sTitle":"Sixth Node","aTargets":["data_analysis_category"]}]

正如您所看到的那样,Sixth Node标题末尾的aTargets为“data_analysis_category”

使用Javascript:

    var res = $('#export_table').dataTable({

        "bDestroy": true,
        "bJQueryUI": true,
        "bFilter": true,
        "sScrollX": "100%",
        "bScrollCollapse": true,
        "iDisplayLength": 10,
        "sPaginationType": "full_numbers",
        "sDom": '<""f>t<"F"lp>',
        "aoColumns": pp['headers'],
        "aaData": pp['data'],
        "aoColumnDefs": [
                      { "sWidth": "200px", "aTargets": ["data_analysis_category"]}
                  ],
    })

正如您所看到的,我正在尝试定位aoColumnDefs中的“data_analysis_category”并设置宽度,但它绝对没有。

我一直试图让这个工作很长一段时间没有运气,任何帮助都表示赞赏。

0 个答案:

没有答案