テーブルのクリーンアップを行う必要がありますが、その方法がわかりません。この場合、既存のテーブル 4 で列の制限に達したときに、新しいテーブルを作成しています。
のスタイルを持つ行の tds を使用してテーブルが作成されるため、クリーンアップが必要ですstyle="DISPLAY: none"
。
<table style="border-bottom: #000 1px solid; margin-top: 10px; width: 1000px; float: left; border-right: #000 1px solid">
<tbody>
<tr class="tableHeader tbsectionheader">
<td style="display: none" class="flow_header">
ALLERGEN SPECIFIC IGE
</td>
<td style="display: none" class="flow_header">
CLASS
</td>
<td style="display: none" class="flow_header">
Carbon dioxide
</td>
</tr>
<tr>
<td style="display: none" class="flow_data">
</td>
<td style="display: none" class="flow_data">
</td>
<td style="display: none" class="flow_data">
</td>
</tr>
<tr>
<td style="display: none" class="flow_data">
</td>
<td style="display: none" class="flow_data">
</td>
<td style="display: none" class="flow_data">
</td>
</tr>
<tr>
<td style="display: none" class="flow_data">
</td>
<td style="display: none" class="flow_data">
</td>
<td style="display: none" class="flow_data">
</td>
</tr>
<tr>
<td style="display: none" class="flow_data">
</td>
<td style="display: none" class="flow_data">
</td>
<td style="display: none" class="flow_data">
</td>
</tr>
</tbody>
</table>
マークアップを生成している完全なコードは次のとおりです。根本的な原因で問題を解決する必要があります (すべての行が空の場合はテーブルを作成しないでください)。どうすればよいかわかりません。すべての td が空の場合、行を削除しようとしましたが、インデックスを正しく作成できませんでした。
参考までに、このマークアップはすべて.netを使用してpdfに変換されています
$(document).ready(function () {
if (window.opener != null && !window.opener.closed) {
var tbl = $get('<%=hfTableId.ClientID%>').value;
var tblstring = window.opener.document.getElementById(tbl).value;
$("#tblFlowsheet").html(tblstring);
$("#divTtableContainer").append($("#tblFlowsheet"));
hideEmptyCols();
$get('<%=hfFlowsheetTable.ClientID%>').value = $("#divTtableContainer").html();
__doPostBack('DoPrint', 'True');
}
});
function hideEmptyCols() {
var $table = $("#tblFlowsheet")
var $thead = $('tr.tableHeader', $table).first();
var isEmpty = new Array();
$('td', $thead).each(function (i) {
var j = i;
//select all tds in this column
var tds = $(this).parents('table').find('td:nth-child(' + (i + 1) + ')');
//check if all the cells in this column are empty
if ((tds.length - 1) == tds.filter(':empty').length) {
isEmpty[isEmpty.length] = j
//tds.remove();
//hide header
//$(this).remove();
}
});
for (var x in isEmpty) { $('td:nth-child(' + (isEmpty[x] + 1) + ')').hide(); }
splitTable($table);
$('td').each(function () {
if ($(this).text() == '') {
$(this).html(" ");
}
});
}
function splitTable(table) {
trs = table.find('tr');
$('<table>').insertAfter(table);
var limit = 3;
if(table.find('tr:first-child>td').length>limit) {
newTable = table.next('table');
newTable.attr('style', 'width:1000px;float:left; margin-top: 10px;border-bottom: solid 1px #000; border-right: solid 1px #000;');
newTable.append('<tbody>');
trs.each(function () {
tr = $(this);
clone = tr.clone();
clone.html('');
newTable.find('tbody').append(clone);
lastTr = newTable.find('tr:last-child');
lastTr.append($('>:gt('+limit+')',this));
});
splitTable(newTable);
}
}