当我们需要在加载或者显示表格的时候,改变jquery datatable 的数据,或增加一些html标签处理。
可以通过Jquery DataTable的回调函数处理。
实例代码:
if (oTable != null) { oTable.fnDestroy(); }; var detail="../Pages/detail/detail.aspx?oper=edit&id="; oTable = $("#TableSuspectList").dataTable({ "aaData": tabledata, "bPaginate": false, "sPaginationType": "full_numbers", "bPaginate": true, //翻页功能 "bLengthChange": false, //改变每页显示数据数量 "iDisplayLength": 10, "oLanguage": { "sProcessing": "正在加载中......", "sLengthMenu": "每页显示 _MENU_ 条记录", "sZeroRecords": "正在加载中......", "sEmptyTable": "表中无数据存在!", "sInfo": "当前显示 _START_ 到 _END_ 条,共 _TOTAL_ 条记录", "sInfoEmpty": "显示0到0条记录", "sInfoFiltered": "数据表中共为 _MAX_ 条记录", "sSearch": "搜索", "oPaginate": { "sFirst": "首页", "sPrevious": "上一页", "sNext": "下一页", "sLast": "末页" } }, "sScrollY": "100%", "sScrollX": "100%", "bFilter": false, "bProcessing": false, "bScrollInfinite": false, "bInfo": false, "bDestroy": true, "fnCreatedRow": function (nRow, aData, iDisplayIndex) { $('td:eq(7)', nRow).html("<a href="javascript:void(0);" onclick="OpenTab('" + aData[1] + ":详情','" + detail + aData[0] + "&LawCaseID="+LawCaseID + "');">详情</a>"); return nRow; } });
fnCookieCallback:还没有使用过回调函数说明:
$(document).ready( function () { $('#example').dataTable( { "fnCookieCallback": function (sName, oData, sExpires, sPath) { // Customise oData or sName or whatever else here return sName + "="+JSON.stringify(oData)+"; expires=" + sExpires +"; path=" + sPath; } } ); } );
fnCreatedRow:顾名思义,创建行得时候的回调函数
$(document).ready( function() { $('#example').dataTable( { "fnCreatedRow": function( nRow, aData, iDataIndex ) { // 为a的话字体加粗 if ( aData[4] == "A" ) { $('td:eq(4)', nRow).html( '<b>A</b>' ); } } } ); } );
$(document).ready( function() { $('#example').dataTable( { "fnDrawCallback": function( oSettings ) { alert( 'DataTables 重绘了' ); } } ); } );
fnDrawCallback:draw画 ,这个应该是重绘的回调函数
fnInitComplete:datatables初始化完毕后会调用这个方法
$(document).ready( function() { $('#example').dataTable( { "fnInitComplete": function(oSettings, json) { alert( 'DataTables 初始化完毕' ); } } ); } )
$(document).ready( function() { $('#example').dataTable( { "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) { // 所有的a都加粗 if ( aData[4] == "A" ) { $('td:eq(4)', nRow).html( '<b>A</b>' ); } } } ); } );
fnRowCallback:行的回调函数(所有行得回调函数)
fnServerData:这个是结合服务器模式的回调函数,用来处理服务器返回过来的数据
// POST data to server $(document).ready( function() { $('#example').dataTable( { "bProcessing": true, "bServerSide": true, "sAjaxSource": "xhr.php", "fnServerData": function ( sSource, aoData, fnCallback, oSettings ) { oSettings.jqXHR = $.ajax( { "dataType": 'json', "type": "POST", "url": sSource, "data": aoData, "success": fnCallback } ); } } ); } );