JQuery データテーブルを使用しようとすると、最初のロードでデータテーブル css が正しくロードされません。
ただし、後続のロードでは、テーブルは適切にロードされます。
以下はhtmlです
HTML:
<table id="test">
<thead id="testhead">
<tr>
<th>Created Date </th>
<th>Source Name </th>
<th>Description </th>
</thead>
<tbody id="testbody"></tbody>
</table>
Javascript
Javascript では、作成して動的に $("testhead") と $("testbody") にそれぞれ追加しようとしています。
dwr.util.removeAllRows("testhead");
dwr.util.removeAllRows("testbody");
var table_header = $("#testhead");
var header_row = $("<tr></tr>");
/**
*
* Populate table header
*/
var cell = $("<th></th>");
cell.text("Created Date");
header_row.append(cell);
cell = $("<th></th>");
cell.text("Source Name");
header_row.append(cell);
table_header.append(header_row);
cell = $("<th></th>");
cell.text("Description");
header_row.append(cell);
table_header.append(header_row);
var table_body = $("#testbody");
for ( var i = 0; i < data.length; i++) {
var row = $("<tr></tr>");
var cell = $("<td></td>");
cell.text(data[i].createdDate.getDay() + "-" +
data[i].createdDate.getMonth() + "-" +
data[i].createdDate.getFullYear());
row.append(cell);
cell = $("<td></td>");
cell.text(data[i].sourceName);
row.append(cell);
cell = $("<td></td>");
cell.text(data[i].description);
row.append(cell);
}
$('#test').dataTable({
"bJQueryUI":true,
"aLengthMenu": [[10,25,50,100,-1], [10,25,50,100,"All"]],
"iDisplayLength" : 10,
"bPaginate" :true,
"bAutoWidth":true,
"bRetrieve":true,
"aoColumns":[
{"sTitle":"Created Date","bSearchable" : true,"bSortable" :true},
{"sTitle":"Source Name","bSearchable" : true,"bSortable" :true},
{"sTitle":"Description","bSearchable" : true,"bSortable" :true},
],
"sDom":'<"H"lfr>t<"F"ip><"clear">',
"sPaginationType":"full_numbers",
"sPageButton":"paginate_button",
"sPageButtonStaticDisbaled":"paginate_button"
})
$("#test").css("width","100%");
$("#test").dataTable().fnDraw();
showDiv('results');
関数の最初の呼び出しで、テーブルが正しくレンダリングされません。
この問題に関して誰かが私を助けてくれますか?