2016-06-13 5 views
0

こんにちは、以下のロジックを参考にしてください。データテーブルでカスタム列のレンダリング関数を呼び出す方法

私はdataTableを作成する必要があることに基づいて、ユーザーから動的な列を取得するために使用します。私は、列を読み取るために、以下のコードを書いた、コード値を表示し、あなたが列を定義し、uはレンダリングを使用することができます側にすることができます

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

ことを私に行うにはどのようにいくつかのアイデアを共有してください。 Target属性を使用すると、変更する列を定義できます。ループする必要はありません。関数のパラメータ自体は、ターゲットの列の各値です。

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

関連する問題