11

データテーブルの列数を取得するにはどうすればよいですか?

oTable.fnGetData().length を実行して行数を取得できますが、次のように各セルを反復できるように列数を取得するにはどうすればよいですか。

var numColumns = //How to get the number of columns?
    for(var r=0;r<oTable.fnGetData().length;r++){
        for(var c=0;c <= numColumns;c++){
            console.log("[R]: "+r+ "[C]: "+c+ " data: "+oTable.fnGetData(r,c));   
        }
    }
4

2 に答える 2

15

列数を取得する

  • データテーブル 1.9+

    // Get number of all columns
    var numCols = $('#example').dataTable().fnSettings().aoColumns.length;
    
    // Get number of visible columns
    var numCols = $('#example thead th').length;
    

    デモンストレーションについては、この jsFiddleを参照してください。

  • データテーブル 1.10+

    // Get number of all columns
    var numCols = $('#example').DataTable().columns().nodes().length;
    
    // Get number of visible columns
    var numCols = $('#example').DataTable().columns(':visible').nodes().length;
    
    // Get number of visible columns (alternative way)
    var numCols = $('#example thead th').length;
    

    デモンストレーションについては、この jsFiddleを参照してください。

各セルを反復する

  • データテーブル 1.10.6+

    $('#example').DataTable().cells().every( function (rowIndex, colIndex) {
        var data = this.data();
    
        console.log("Row:", rowIndex, "Col:", colIndex, "Data:", data);
    });
    
于 2015-10-01T14:12:11.263 に答える
8

fnGetDataを使用して、単一のデータ行を取得できます。したがって、データ行の長さで列数を確認するだけで済みます。

例:

oTable.fnGetData(someRowNumber).length;

上記は、そのデータ行の列数を返します。

于 2012-05-30T01:17:08.610 に答える