Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jqGrid with custom cell colors

Is it possible in jqGrid(jquery grid http://www.trirand.com/blog/) to have custom cell text colors e.g. in price column i want red if price > 100$ and green if price < 50$ else grey?

More generally do

  1. jqGrid provides hooks to change grid cellview, e.g. i can register a callback whenver cells of price column are created or modified.

  2. or is it possible to have separate model and view (client side) e.g. from server i can send two data for each row i.e. how to display and what to display

Edit: so here is an example showing the sample formatter, which colors the cell based on value

function infractionInFormatter(el, cellval, opts)
{
    $(el).html(cellval).css('color',infraction_color_map[cellval]);
}

colModel :[ 
    ...
    {name:'date', index:'date', width:120, date:true}, 
    {name:'inf_out', index:'inf_out', width:60, formatter:infractionInFormatter,},
    ...
],
like image 262
Anurag Uniyal Avatar asked Apr 20 '09 13:04

Anurag Uniyal


2 Answers

Yes, you can do that. Write a custom formatter. This is just a function that you pass a reference to in your colModel. You get a reference to the final cell selector in the function, so anything you can do with jQuery you can do in a formatter. Including change the color/style.

like image 100
Craig Stuntz Avatar answered Nov 15 '22 08:11

Craig Stuntz


You can also specify the class in the colModel:

colModel: [
           {
            name:'field_x', 
            index:'field_x',  
            align: 'left',  
            width:  35, 
            classes: 'cvteste'
           },
          .....
          ]
like image 31
LeftyX Avatar answered Nov 15 '22 10:11

LeftyX