数据表单独更改选项
Datatables change options individually
我正在处理数据表,我 运行 遇到了这个问题。
我在一个页面(以及在我的系统中)有多个表,它们都有通用选项,如数据源、响应式等。
但是有些表格有一些独特的选项,比如 bSort、aoColumns 等等...
所以我的问题是:我可以使用通用选项初始化所有这些选项,然后分别更改这些选项吗?
现在,这就是我正在做的事情:
var TabClienteFisico_01 = $('#cfisico').dataTable({
responsive: true,
bProcessing: true,
bServerSide: false,
aoColumns : [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" },
{ "mData": "tel" },
{ "mData": "cidade" }
],
"ajax": {
"url": "data/c_fisico.json",
},
"dataType": "json"
});
var TabClienteFisico_02 = $('#cfisico2').dataTable({
responsive: true,
bProcessing: true,
bServerSide: false,
bSort: false,
aoColumns: [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" }
],
"ajax": {
"url": "data/c_fisico.json",
},
"dataType": "json"
});
这就是我想做的事情:
var mainTab = $('.mainTab').dataTable({
responsive: true,
bProcessing: true,
bServerSide: false,
"ajax": {
"url": "data/c_fisico.json",
},
"dataType": "json"
});
var TabClienteFisico_01 = $('#cfisico1').dataTable({
aoColumns: [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" },
{ "mData": "tel" },
{ "mData": "cidade" }
]
});
var TabClienteFisico_02 = $('#cfisico2').dataTable({
bSort: false,
aoColumns: [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" }
]
});
在 HTML 中它将是:
<table id="cfisico1" class"mainTab"> ... </table>
<table id="cfisico2" class"mainTab"> ... </table>
有办法吗?
您可以扩展作为参数传递给数据表方法的选项对象,例如:
var options = {
responsive: true,
bProcessing: true,
bServerSide: false
};
var opt01 = $.extend({}, options, {
aoColumns: [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" },
{ "mData": "tel" },
{ "mData": "cidade" }
]
});
var opt02 = $.extend({}, options, {
bSort: false,
aoColumns: [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" }
]
});
var TabClienteFisico_01 = $('#cfisico1').dataTable(opt01),
TabClienteFisico_02 = $('#cfisico2').dataTable(opt02);
我正在处理数据表,我 运行 遇到了这个问题。
我在一个页面(以及在我的系统中)有多个表,它们都有通用选项,如数据源、响应式等。 但是有些表格有一些独特的选项,比如 bSort、aoColumns 等等...
所以我的问题是:我可以使用通用选项初始化所有这些选项,然后分别更改这些选项吗?
现在,这就是我正在做的事情:
var TabClienteFisico_01 = $('#cfisico').dataTable({
responsive: true,
bProcessing: true,
bServerSide: false,
aoColumns : [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" },
{ "mData": "tel" },
{ "mData": "cidade" }
],
"ajax": {
"url": "data/c_fisico.json",
},
"dataType": "json"
});
var TabClienteFisico_02 = $('#cfisico2').dataTable({
responsive: true,
bProcessing: true,
bServerSide: false,
bSort: false,
aoColumns: [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" }
],
"ajax": {
"url": "data/c_fisico.json",
},
"dataType": "json"
});
这就是我想做的事情:
var mainTab = $('.mainTab').dataTable({
responsive: true,
bProcessing: true,
bServerSide: false,
"ajax": {
"url": "data/c_fisico.json",
},
"dataType": "json"
});
var TabClienteFisico_01 = $('#cfisico1').dataTable({
aoColumns: [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" },
{ "mData": "tel" },
{ "mData": "cidade" }
]
});
var TabClienteFisico_02 = $('#cfisico2').dataTable({
bSort: false,
aoColumns: [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" }
]
});
在 HTML 中它将是:
<table id="cfisico1" class"mainTab"> ... </table>
<table id="cfisico2" class"mainTab"> ... </table>
有办法吗?
您可以扩展作为参数传递给数据表方法的选项对象,例如:
var options = {
responsive: true,
bProcessing: true,
bServerSide: false
};
var opt01 = $.extend({}, options, {
aoColumns: [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" },
{ "mData": "tel" },
{ "mData": "cidade" }
]
});
var opt02 = $.extend({}, options, {
bSort: false,
aoColumns: [
{ "mData": "id" },
{ "mData": "nm_cliente" },
{ "mData": "cpf" }
]
});
var TabClienteFisico_01 = $('#cfisico1').dataTable(opt01),
TabClienteFisico_02 = $('#cfisico2').dataTable(opt02);