Jqgrid: How To Change Cell Padding
Solution 1:
Add a new CSS class to the columns that you need to style:
$("#dataTable").jqGrid({
...
colModel:[
{name:"name",index:"name", width:600, align:"left", classes:"grid-col"},
{name:"price",index:"price", width:100, align:"right", classes:"grid-col"}
],
...
});
Note classes:"grid-col"
in this snippet.
Then style the columns with CSS using !important
to give these rules the highest priority:
.grid-col {
padding-right: 5px!important;
padding-left: 5px!important;
}
It works for me in jqGrid 4.5.4 with no column resizing problems.
Solution 2:
According to the jqGrid developer, the cellLayout
option is the preferred way. Unfortunately the documentation is a bit cryptic:
This option determines the padding + border width of the cell. Usually this should not be changed, but if custom changes to td element are made in the grid css file this will need to be changed. The initial value of 5 means paddingLef⇒2+paddingRight⇒2+borderLeft⇒1=5
Solution 3:
I have found the solution and am a bit ashamed of not finding it sooner :P
Apparently the grid headers ARE th's but not in the same table as the grid itself.
So by changing #grid-id th {...}
to body .ui-jqgrid .ui-jqgrid-htable th {...}
I got it to work as expected.
Solution 4:
I solved a similar case by wrapping the content in each cell with a div which I in turn padded. It will give you a correct behavior since the column with stays fixed to your jqgrid configuration.
$("tr.jqgrow td").each(function(){
$(this).wrapInner("<div class=\"cell\"/>")
})
And styled the div.cell like this (.sass).
tabletd.cellpadding-left: 8px
padding-right: 8px
Solution 5:
tr.jqgrowtd { padding: 0px2px0px!important; }
This will create cell-padding for both header and content cells.
Post a Comment for "Jqgrid: How To Change Cell Padding"