0

この機能はどこにも見つかりません。DataTablesの並べ替え/ページングの PHP サーバー処理を使用する場合、テーブルの列にクラスを追加することは可能ですか? PHPスクリプトはセルデータのみを返し、設定は返さないためです。例: 正または負の値を持つ列があります。セル内の数値が正の場合は緑、負の場合は赤でセルを強調表示したいと思います。AJAX ソース デモでも使用されている標準ファイルを使用します。

これは私の初期化です:

$(document).ready(function() {
    $('#example').dataTable( {
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "../server_side/scripts/server_processing.php"
    } );
} );

PHP 出力は、PHP 配列から作成された JSON 文字列を返します。次のようになります (生成された JSON)。

{
  "sEcho":1,
  "iTotalRecords":"3",
  "iTotalDisplayRecords":"3",
  "aaData":[{ "0":"1 Oct 2013","1"=>"-9999","2"=>"11111"  }]
}

-9999 か​​ら赤、11111 から緑のクラスにクラスを設定する必要があります。何か案は?

4

1 に答える 1

1

http://datatables.net/examples/advanced_init/row_callback.html

fnRowCallback のカスタム関数を作成し、関心のあるセル インデックスのセットを確認します (数値が正か負か)。その後、セルのコンテンツをカスタム html に置き換えることができます。

したがって、あなたの場合は次のようになります。

    "fnRowCallback": function( nRow, aData, iDisplayIndex ) {
                /* Append the grade to the default row class name */
                if ( aData[1] > 0)
                {
                    $('td:eq(1)', nRow).html( "<span class='green'>" + $('td:eq(1)', nRow).html() + "</span>" );
                } else {
                   //set to red
                }
                // do the same for td[2]
                return nRow;
            },
于 2013-10-30T01:40:55.147 に答える