2016-06-13 64 views
0

嗨,有人请帮助下面的逻辑。如何在数据表中调用自定义列的渲染函数

我用来从用户那里得到一个动态列,根据我需要创建一个dataTable,我已经写了下面的代码来读取列,我需要应用渲染功能从一些列有哪些将显示代码值,请分享我一些想法如何做到这一点

function createDataTableColumns(ColumnsName) 
{ 
    var colum = ColumnsName.split(","); 
    $.each(colum, function (i, item) { 
    var operationColumns = new Object(); 
    operationColumns.sTitle = item; 
    operationColumns.data = item; 
    operationColumns.push(operationColumn); 

    }) 
} 

function fnCreateTable(Data, tableID) { 
    if ($.fn.dataTable.isDataTable('#' + tableID)) { 
    var table1 = $('#customRptTable').DataTable(); 
    table1.destroy(); 
    $('#' + tableID + 'tbody').unbind('click'); 
    } 
    $("#divOperation").show(); 
    debugger; 
    var tableLicense = $('#' + tableID).DataTable({ 
    "data": Data, 
    "aoColumns": operationColumns, 
    "aaSorting": [], 
    "bAutoWidth": true, 
    "bPaginate": true, 
    "searching": false, 
    "sScrollX": "100%", 
    "sScrollXInner": "100%", 
    "scrollCollapse": true, 
    }); 

    $("#divOperation").show(); 
}; 

回答

0

您可以定义列和侧可以使用渲染。目标属性允许您定义您正在更改的列。你不需要循环,渲染函数参数本身就是目标列的每个值。

var tableLicense = $('#' + tableID).DataTable({ 
    "data": Data, 
    "aoColumns": operationColumns, 
    "aaSorting": [], 
    "bAutoWidth": true, 
    "bPaginate": true, 
    "searching": false, 
    "sScrollX": "100%", 
    "sScrollXInner": "100%", 
    "scrollCollapse": true, 
"columnDefs": [ { 
    "targets": 0, 
    "data": null, // Use the full data source object for the renderer's source 
    "render": function(data, type, full, meta){ 
     // here call your method 
    } 
    } ] 
    }); 
+0

欲了解更多详情,请查看此链接https://datatables.net/reference/option/columns.render – suyesh