我使用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”并设置宽度,但它绝对没有。
我一直试图让这个工作很长一段时间没有运气,任何帮助都表示赞赏。