Datatables Highlight Row

Wednesday, November 21, 2018

Function untuk datatables lama. Jika perlu highlight mana-mana baris data, gunakan function ini.

Contoh, kita perlu highlight baris data yang ada perkataan "Bajau". Dan baris data ini berada di baris yang ke-35. Jika datatables kita setkan paging setiap 10 data, maka Bajau akan berada di page ke-4.

Function ini akan langkah ke page #4, dan highlightkan baris data tersebut.

function highlight_row(string_to_search, target_column_index, color, datatable_object_id){

 var datatable_object=tables_id[datatable_object_id];
 var value=string_to_search;
 var index=target_column_index;

 value=value+'';

 var a=datatable_object.DataTable();
 var list=a.fnGetNodes();

 for(var i=0; i<list.length; i++){

  var b=$(list[i]);

  var s=b[0].children[index].innerText+'';

  s=s.trim();
  s=s.toUpperCase();

  value=value.toUpperCase();

  if(s==value){
   row_number=i;
   i=list.length;
  }
 }
 $($(a.fnGetNodes()[row_number]).children()).css('background', color);

 var t=(a.fnPagingInfo()).iLength;
 var n=Math.floor(row_number/t);

 a.fnPageChange(n);
}

thisName tu kita berikan nama "bajau".

Jadi, nilai yang perlu diberikan pada function highlight_row adalah: thisName, 2 (kedudukan "bajau" tu terletak pada column ke-2), datatable_bangsa (id bagi datatables yang digunakan).

thisName=$('#data<?php echo $_POST['ruj_bangsa']['title_s'] ?>2').val();

setTimeout(function(){
  highlight_row(thisName, 2, '#ffff66', 'datatable_bangsa');
}, 1000);