This is how I do it... Maybe not the best way, but it's definitely simpler (IMHO) and doesn't require any additional plugins.
<div id="my-datatable"></div>
function LoadData() {
var myDataTable = $("#my-datatable").html("<table><thead></thead><tbody></tbody></table>");
$("table",myDataTable).dataTable({...});
}
$(document).ready(function() {
$("#my-button").click(LoadData);
LoadData();
});
Note: In my workings with jQuery dataTable, sometimes if you don't have <thead></thead><tbody></tbody>
it doesn't work. But you might be able to get by without it. I haven't exactly figured out what makes it required and what doesn't.