0

わかりましたので、私はテーブルで作業しています。そして、この特定のテーブルで rowGrouping を使用しています。今日まで、データテーブルに深刻な問題はありませんでした。

私はphp経由でテーブルをレンダリングしています.DOMがロードされると、その上でデータテーブルを呼び出しています. そのため、すべてのファンシーなテーブルが作成されます。ファンシーな部分が素晴らしく機能し、ほとんどの部分が期待どおりに機能します。でも。オブジェクトを介して列を非表示にしたい、他の列のaoColumns並べ替えを無効にしたい、その他すべて。私にはできないようです。したがって、このシナリオで何をすべきか正確にはわかりません

これは、行のグループ化で使用する JavaScript/datatable 呼び出しです。

    var oTable = $('#orgListings').dataTable({
                            "bAutoWidth": true,
                            "bRetrieve": true,
                            "bPaginate": false,
                            "aoColumns":
                            [
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false },
                                { "bSortable": false }
                            ]
        }).rowGrouping({
                iGroupingColumnIndex: 1,
                sGroupingColumnSortDirection: "asc",
                iGroupingOrderByColumnIndex: 0,
                bExpandableGrouping: true, 
                bExpandSingleGroup: true,
                iExpandGroupOffset: -1
        });
        $('#orgListings_length, #orgListings_filter').hide()
        $(window).bind('resize', function(){oTable.fnDraw();});

私のテーブルは似ていますが、正確ではありません

<table>
  <thead>
     <tr>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
     </tr>
  </thead>
  <tbody>
     <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
     <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
     <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
  </tbody>
</table>

ここでも、行のグループ化は適切に機能しているようです。しかし、中のものは何もdataTable({...})固着していないようです。false であるにもかかわらず、ページネーションは表示されます。 true であるにもかかわらず、Auto width は固執せず、すべての列を並べ替え不可能な列に変更しても機能しません。

だから私は何が間違っているのだろうか?そして、どうすれば修正できますか

4

2 に答える 2

1

あなたはおそらく次のようなことをしたいと思うでしょう:

var nonSortableColumns = new Array(0, 1, 2, 3);

それで

        "aoColumnDefs": [ 
            { "bSortable": false, "aTargets": nonSortableColumns }
        ],
于 2012-09-21T18:36:34.727 に答える
0

最後に、私の問題が何であるかを発見しました.どうやら、themeforest.net から「ホワイト ラベル」を購入したテンプレートの作成者は $content.datatable({sPagination:"full_numbers"}); 、グローバル化された script.js で少しのコードを使用していました。それは、他の何よりも前にテーブルで実行されていたため、$.datatable呼び出しでカスタムしたことは、どのテーブルでも役に立たないままになっていました。私はそれを見つけた後に少しコメントしましたが、すべてがデータテーブルから期待どおりに機能します。

Todd Gibson に感謝します。あなたの提案は、全体的なコード ベースに最適化を少し追加するだけで非常に役に立ちました。残念ながら、最初の問題の修正ではありませんでしたが、他の方法で助けてくれました。

于 2012-09-21T21:15:45.233 に答える