如何在DataTables初始化后定义Columndefs

如何在DataTables初始化后定义Columndefs,datatables,datatables-1.10,Datatables,Datatables 1.10,目前,我在每个页面中使用DataTables,并像这样单独初始化它们 var table=$('#'+'').DataTable({ “响应”:正确, “bAutoWidth”:没错, “语言”:{ “搜索”:“搜索表:”, “搜索占位符”:“搜索记录”, “sEmptyTable”:“没有可显示的数据” }, “columnDefs”:[ { “目标”:[0], 键入:“自然nohtml” } ], “sScrollY”:“55vh”, “卷轴折叠”:错误, “pagingType”:“完整编

目前,我在每个页面中使用DataTables,并像这样单独初始化它们

var table=$('#'+'').DataTable({
“响应”:正确,
“bAutoWidth”:没错,
“语言”:{
“搜索”:“搜索表:”,
“搜索占位符”:“搜索记录”,
“sEmptyTable”:“没有可显示的数据”
},
“columnDefs”:[
{
“目标”:[0],
键入:“自然nohtml”
}
],
“sScrollY”:“55vh”,
“卷轴折叠”:错误,
“pagingType”:“完整编号”,
“长度菜单”:[[25,50,100,150,200],[25,50,100,150,200]]
});
当我试图创建一个在多个位置使用的通用JQuery方法时,columnDef中的type属性无法正常工作

“columnDefs”:[
{
“目标”:[0],
键入:“自然nohtml”
}
],
Im使用NatualSort插件对数据进行排序,因为列“0”包含字母数字数据

有没有一种方法可以动态设置ColumnDef?或者在初始化表后为列(0)设置ColumnDef类型? 差不多

table.column(“0:visible”).Type('natural-nohtml');

谢谢你的帮助?我想知道我的想法是否正确?

初始化数据表后,您无法操作
columnDefs
。但是,当您基本上只想将任何dataTable的第一列的
natural nohtml
设置为
type
时,您可以简单地扩展
$.fn.dataTable.defaults
。在初始化任何数据表之前声明:

$.extend(true,$.fn.dataTable.defaults{
columnDefs:[
{目标:[0],键入:'natural nohtml'}
]
} );

这会将任何dataTables的第一列设置为键入
natural nohtml

谢谢您的帮助。我将实施这一点。