Javascript “如何向dataTables添加\删除列”;aoColumns";在基于条件的渲染中

Javascript “如何向dataTables添加\删除列”;aoColumns";在基于条件的渲染中,javascript,datatables,Javascript,Datatables,我有一个js函数在两个部分中使用的表上工作,这两个部分仅对td不同,我想使用相同的函数两次,但带有一个参数,告诉我是否要将此列数据添加到渲染中。这是一项常见的任务,但我无法使用dataTables实现它 function find(url, type) { $('#table').dataTable({ "bProcessing": true, "sAjaxSource": url, "sAjaxDataProp": "",

我有一个js函数在两个部分中使用的表上工作,这两个部分仅对td不同,我想使用相同的函数两次,但带有一个参数,告诉我是否要将此列数据添加到渲染中。这是一项常见的任务,但我无法使用dataTables实现它

function find(url, type)
{
    $('#table').dataTable({
        "bProcessing": true,
        "sAjaxSource": url,
        "sAjaxDataProp": "",
        "bDeferRender": true,
        "sPaginationType": "full_numbers",
        "bStateSave": true,
        "bAutoWidth": true,
        "bDestroy":true,
        "aoColumns":
        [
            {"mData": "a"},
            {"mData": "b"},
            {"mData": "conditionalData"}
        ],
        "oLanguage":
        {
            "sLengthMenu": "Mostra _MENU_ risultati per pagina",
            "sZeroRecords": "Nessun RISULTATO",
            "sInfo": "Mostra da _START_ a _END_ di _TOTAL_ risultati",
            "sInfoEmpty": "Mostra 0 su 0 di 0 risultati",
            "sInfoFiltered": "(Filtrati da _MAX_ risultati totali)",
            "sSearch": "Filtra:",
            "oPaginate":
            {
                "sFirst": "|<",
                "sLast": ">|",
                "sNext": ">",
                "sPrevious": "<"
            }
        },
        "aoColumnDefs": [ {"bSortable": false, "aTargets": []} ]
    });
}

您可以通过将每列添加到数据表中来实现这一点。然后,您可以使用fnSetColumnVis函数隐藏某些列(哪些列-与您的条件不匹配):

var oTable = $('#myTable').dataTable({...});
for(var i = 0; i < columns.length; i++){
    if(columns[i] not matching criteria)
        oTable.fnSetColumnVis(i, false);
}
var-oTable=$('#myTable').dataTable({…});
对于(var i=0;i
var oTable = $('#myTable').dataTable({...});
for(var i = 0; i < columns.length; i++){
    if(columns[i] not matching criteria)
        oTable.fnSetColumnVis(i, false);
}