在JqGrid中包装文本行

时间:2009-11-13 15:47:35

标签: javascript jquery jqgrid

你可以在JqGrid中找到要包装的文本行吗?我看了一眼,但找不到任何东西。

4 个答案:

答案 0 :(得分:56)

尝试以下CSS:

    .ui-jqgrid tr.jqgrow td {
        white-space: normal !important;
    }

这适用于我使用jqGrid 3.6。


正如N30所指出的那样,jqGrid 4.0现在支持cellattr colModel选项,它允许对文本换行进行更精细的控制。从他的例子来看:

cellattr: function (rowId, tv, rawObject, cm, rdata) { 
    return 'style="white-space: normal;"';
}

答案 1 :(得分:28)

使用jQGrid 4.0,更好的方法是在colmodel中使用cellattr 像这样: -

colModel: [
            { name: 'ClientName', label: 'Client', index: 'ClientName', width: 150, cellattr: function (rowId, tv, rawObject, cm, rdata) { return 'style="white-space: normal;"' } },

            .... other columns

            ]

通过这种方式,您可以将包装样式应用于单个列,而不必使用!important

答案 2 :(得分:4)

我的头文件有这个问题,发现我需要所有这些才能让它在IE中修复它。请注意,这是针对标题,而不是单元格。这个问题是它可能会产生比你想要的更多的影响(因为我相信我稍后会发现),但你总是可以优化css选择器和/或让它们引用特定的#tableIdName或某些类,这样你就可以随便选择加入。

.ui-jqgrid .ui-jqgrid-htable th div {
overflow: visible !important;
height: auto !important;
}

.ui-th-column, .ui-jqgrid .ui-jqgrid-htable th.ui-th-column {
  white-space: normal !important;  
}

.ui-jqgrid .ui-th-div-ie{
  white-space: normal !important;  
}

答案 3 :(得分:0)

您可以使用classes colModel选项在列上放置CSS类,然后在CSS文件中添加该类的样式white-space: normal !important; ...

  

     

的字符串

     

此选项允许向列添加类。如果将使用多个类,则应设置空格。通过示例classes:'class1 class2'将class1和class2设置为该列上的每个单元格。

     

在网格css中有一个预定义的类ui-ellipsis,它允许将省略号附加到特定行。这也适用于FireFox。