Well my friend.. here there will be technically callback for every column.
callback consists of 2 params - $value, $row
for the value - based on the condition of the field from the $row, for the value what you could do is return a formatted / non-formatted a href link attached to the same.
other way around - which is still better - dont give ahref for all ....
just make a slight change in the view (list.php of the gc templete / theme u use) - where it starts with the printing the row out..
<?php foreach($list as $num_row => $row){ ?>
<tr <?php if($num_row % 2 == 1){?>class="erow"<?php }?> data_id="<?php echo $row->$primary_key ?>">
here.. what we added is data_id="<?php echo $row->$primary_key ?>"
this makes each row havea data_id...
now what you can do is write a script in js ..
$("tr").click(function(event) {
window.location.href = somebaseurl + $(this).attr("data_id"); //generate the url now based on the id.
});
this .. u can attach to the crud using set_js function
as for formatting - u can alter the library as guided above ... and u can create a function
function formatRows() {
var myValue = $(this).find('td:eq(4)').text(); //assuming the value for comparision is alreeady in the column at the 4th element
if(myValue == 'formatable') {
$('#flex1 tbody tr').each(function(i) {
//format the column - attach css like bold / strong to the text .... or some color to the text
});
}
}
now the same can be set in the above give js ... (which we added for the link) and ...add a callback...
$crud->post_ajax_callbacks('formatRows()');
thats it - its all set with the code without callback...
but mind it - this is technically only possible if we have the value for comparision present in the row itself.