目前我在每个页面中使用DataTables,就像这样单独初始化它们。
var table = $('#' + '<%= gvReports.ClientID %>').DataTable({
"responsive": true,
"bAutoWidth": true,
"oLanguage": {
"sSearch": "Search Table: ",
"sSearchPlaceholder": "Search records",
"sEmptyTable": "No data available to display"
},
"columnDefs": [
{
"targets": [0],
type: 'natural-nohtml'
}
],
"sScrollY": "55vh",
"scrollCollapse": false,
"pagingType": "full_numbers",
"lengthMenu": [[25, 50, 100, 150, 200], [25, 50, 100, 150, 200]]
});
当我尝试创建一个在多个地方使用的通用JQuery方法时,columnDef中的type属性无法正常工作
"columnDefs": [
{
"targets": [0],
type: 'natural-nohtml'
}
],
我使用NatualSort插件对数据进行排序,因为列'0'包含字母数字数据。
有没有办法可以动态设置columnDefs?或者在初始化表后设置Column(0)的ColumnDef类型? 喜欢的东西
table.column("0:visible").Type('natural-nohtml');
感谢任何帮助?我想知道我是否正确思考?
答案 0 :(得分:1)
在初始化dataTable之后,您无法操纵columnDefs
。但是,当您基本上只想为任何dataTable的第一列设置natural-nohtml
为type
时,您只需扩展$.fn.dataTable.defaults
即可。在初始化任何dataTable之前声明这个:
$.extend( true, $.fn.dataTable.defaults, {
columnDefs: [
{ targets: [0], type: 'natural-nohtml' }
]
} );
这将设置任何dataTables&#39;第一列键入natural-nohtml
。