Jquery JQGrid – 如何设置网格标题单元格的对齐方式?

是否可以在jqgrid中对齐网格列标题? 例如对齐左右还是中心?

在jqrid文档http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options中它说:

align: Defines the alignment of the cell in the Body layer, not in header cell. Possible values: left, center, right. 

请注意,它表示“不在标题单元格中”。 如何为标题单元格(网格标题单元格)执行此操作? 文档没有提到这个小细节….

更改列标题对齐的最佳记录方法是使用jqGrid的setLabel方法(请参阅http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods )。

您可以使用以下代码更改由'name': 'Name'标识的列的对齐方式'name': 'Name'

 grid.jqGrid ('setLabel', 'Name', '', {'text-align':'right'}); 

随着代码

 grid.jqGrid ('setLabel', 'Name', 'Product Name', {'text-align':'right'}, {'title':'My ToolTip for the product name column header'}); 

您可以将标题名称更改为“产品名称”,并将“我的工具提示”设置为产品名称列标题,作为相应列标题的工具提示。

您还可以在CSS中定义一些类,并根据setLabel方法为列标题设置它。

顺便说一下,选择函数’setLabel’的名称是因为你不能定义colNames参数,而是在colModel使用额外的'label'选项来定义列标题,而不是'name'值。

更新 :您可以使用类来定义'text-align''padding' 。 试试看

 .textalignright { text-align:right !important; } .textalignleft { text-align:left !important; } .textalignright div { padding-right: 5px; } .textalignleft div { padding-left: 5px; } 

 grid.jqGrid ('setLabel', 'Name', '', 'textalignright'); grid.jqGrid ('setLabel', 'Description', '', 'textalignleft'); 

(我将5px定义为填充以更好地查看结果。您可以选择在您的情况下更好找到的填充值)。

只需转到你的jqgrid的css文件。

寻找:

 ui-th-column,.ui-jqgrid .ui-jqgrid-htable th.ui-th-column {overflow:hidden;white-space:nowrap;text-align:center; ... 

并更改text-align。

我没有发现常规选项。

我希望这能帮到您。

布鲁诺

请试试这个

 loadBeforeSend: function () { $(this).closest("div.ui-jqgrid-view").find("table.ui-jqgrid-htable>thead>tr>th").css("text-align", "left"); } 

虽然使用’setLabel’方法似乎是可行的,但我总是希望我的标题单元格与单元格的排列方式相同。 所以我只使用这个function:

 function pimpHeader(gridObj) { var cm = gridObj.jqGrid("getGridParam", "colModel"); for (var i=0;i 

这使用单元格的对齐来对齐标题。 被称为这样:

 pimpHeader(jQuery("#grid")); 

如果需要,可以使用'titletext'扩展Column-Model,它显示为工具提示标题,如下所示:

 colModel: [{ name: 'name', label: 'Name', align: 'right', titletext: 'Name-Tooltip'}, ...] 

看到源代码找出你的网格引用的css然后你可以试试这个:

 setTimeout(function(){ jQuery('.ui-th-column').css('text-align','center'); },1); 

您只需将align属性添加到ColModel中的Column:

 colModel: [ {name: 'MyColumn', index: 'MyColumn', align: 'center'} ],