datatables 項目の値によって出力する内容を変更する方法



datatablesを最近使うようになったが、Ajax使うと結構速いなwww


んでタイトルとおりなんだけど

カラムの値によって出力内容を変更させたい要望が出てきやがった(;´Д`)


調べてみるとこれでできたぞwww



$(document).ready(function() {
 var oTable = $('#dataTable').dataTable({
  "bFilter": true,
  "bSort": true,
  "bPaginate" : true,
  "bInfo" : true,
  "bScrollCollapse" : true,
  "sAjaxSource" : 'hogeaction',
  "aoColumns" : [
    { "mDataProp" : "hoge1"},
    { "mDataProp" : "hoge2"},
    { "mDataProp" : "hoge3"},
    { "mDataProp" : "hoge4"}
  ],
  "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
   if (aData.hoge1==1) { // ※1
    $('td:eq(2)', nRow).html('●'); // ※2
   }
   else{
    $('td:eq(2)', nRow).html('×');
   }
   return nRow;
  }
 });
});




説明
※1
現在の行のデータaDataのajaxで戻ってきた値を比較する。

※2
インデックスが2のカラム項目の値を変更する。


試して味噌(´・ω・`)


その他参考URL
http://datatables.net/examples/advanced_init/row_callback.html


0 件のコメント:

コメントを投稿