Is it possible to align grid column headers in jqgrid? eg align left right or center?
In the jqrid documents http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options it says:
align: Defines the alignment of the cell in the Body layer, not in header cell.
Possible values: left, center, right.
Note that it says "not in the header cell". How can I do this for the header cell (grid title cell)? The documentation fails to mention this little detail....
The best documented way to change column header alignment is the usage of setLabel
method of jqGrid (see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods).
You can change alignment of the column identified by 'name': 'Name'
with the following code:
grid.jqGrid ('setLabel', 'Name', '', {'text-align':'right'});
With the code
grid.jqGrid ('setLabel', 'Name', 'Product Name', {'text-align':'right'},
{'title':'My ToolTip for the product name column header'});
you can change the header name to 'Product Name' and set 'My ToolTip for the product name column header' as a tool tip for the corresponding column header.
You can also define some classes in your CSS and set it for the column headers also with respect of setLabel
method.
By the way the name of the function 'setLabel' is choosed because you can not define colNames
parameter of the jqGrid, but use additional 'label'
option in the colModel
to define a column header other as the 'name'
value.
UPDATED: You can do able to use classes to define 'text-align'
or 'padding'
. Just try following
.textalignright { text-align:right !important; }
.textalignleft { text-align:left !important; }
.textalignright div { padding-right: 5px; }
.textalignleft div { padding-left: 5px; }
and
grid.jqGrid ('setLabel', 'Name', '', 'textalignright');
grid.jqGrid ('setLabel', 'Description', '', 'textalignleft');
(I defined 5px as the padding to see results better. You can choose the padding value which you will find better in your case).