views:

272

answers:

2

Hi,

I'm using jqGrid3.6.5 on google hosted jQueryUI1.8.2 and jQuery1.4.2

I want to change the cell padding of a jqGrid. For testing purposes I want to set it to 10px all around each cell.

The only option I've come across while googling is the following:

  1. add padding with CSS. eg. #grid-id td, #grid-id th { padding:10px; }
  2. set cellLayout option to 21 (paddingleft + paddingright + borderleft)

When I have no set width on any of the columns in my colModel, this works like expected. Though when I resize one of the headers, or set a column width in the colModel, headers and cells aren't aligned anymore.

Anyone know how to fix this or know an alternative way to alter cell padding?

+1  A: 

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

Justin Ethier
This is what my question is based upon. (and what I can't get to work like expected)
Maurice
Hmm... if this is what Tony (the developer) recommended then I don't know what else to tell you. You may need to modify jqGrid files in order to get this to work.
Justin Ethier
Thanks for pointing cellLayout out. It solved a similar problem I was having.
Michael Silver
A: 

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.

Maurice
it si not enough to change only th style for some cases, for example for word wrapping, also you have to apply same style rules for wrapping on .ui-jqgrid .ui-jqgrid-htable th div..cheers
Marko