2

datatables プラグインを使用するコードがあります。

テーブル構造は次のようになります。

<thead>
    <tr>
        <th>col1</th>
        <th>col2</th>
        <th>col3</th>
        <th>col4</th>
        <th>col5</th>
        <th>col6</th>
        <th>col7</th>
        <th>col8</th>
    </tr>
</thead>

しかし、初期化コードで最後の 4 つの列を隠していることに注意してください。

私のコードでは、次のことを行います。

if($data->responseCode < 400)
{
    echo HTML Table
}

それは動作します

else
{
    echo '<tr><td colspan=4><h1 class="error">'.$data->errorMsg.'</h1></td></tr>';
}

これを行うと、次のエラーが表示されます。

「DataTables 警告 (テーブル ID = 'DataTables_Table_0'): 行 0 のデータ ソースから不明なパラメーター '1' が要求されました」

データ可能なコードは次のとおりです。

var oTable = $('.table1').DataTable({
    "iDisplayLength": 100,
    "aaSortingFixed": [[0,'desc']],
    "aaSorting": [ [0,'asc'] ],
    "aoColumnDefs": [
          { "bVisible": false, "aTargets": [ 4,5,6,7 ] },
          { "bSearchable": false, "aTargets": [ 1,2,3,4,5,6,7] },
          { "bSearchable": true, "aTargets": [ 0 ] },
        ]
});

何が原因なのか誰か知っていますか?colspan かもしれないと思ったのですが、それを削除しても問題は解決しません。奇妙なことに、私はこれを別のページで使用しており、空の結果セットをうまく処理しているようです。

これが役立つかどうかはわかりませんが、少し遊んだ後、firebugに次のエラーが表示されるようになりました:

「TypeError: nTd が定義されていません」

4

4 に答える 4

5

データテーブルを頻繁に使用する場合、これはよく発生するエラーです。その理由は、データ テーブルの作成に使用するデータ形式がテーブルの列と一致しないためです。たとえば、ソース データでは 3 つの列しか提供できないのに 4 つの列があります。データ形式とテーブル構造を投稿できます。さらに問題を確認させてください。

于 2013-03-21T09:04:58.903 に答える
2

小さなロジックでこれを修正し、空のレコードをチェックして、すべてのデータ テーブルに対してテーブル クラスを動的に設定できます。

<table class="table table-striped table-bordered <?php echo !empty($rows) ? 'data-table-display-class' : ''; ?>">
于 2018-09-13T17:24:12.550 に答える
0

elseステートメントにtableHTML開始タグが含まれていません。これが問題である可能性があり、行のみをエコーアウトします。試す

else
{
    echo '<table id="table_id" class="table1"><tr><td colspan=4><h1 class="error">'.$data->errorMsg.'</h1></td></tr></table>';
}
于 2013-03-21T08:56:28.070 に答える