当列支持文本换行时,jqGrid自动滚动中断
启用自动滚动功能,即当列支持文本换行时,jqGrid自动滚动中断,jqgrid,jqgrid-asp.net,Jqgrid,Jqgrid Asp.net,启用自动滚动功能,即滚动:1,并启用jqGrid,v4.4.1的列换行功能后,如果由于在一列或多列中换行而导致行高发生变化,网格/表格将无法滚动到最后一条记录。如果所有行仅使用一行(无换行),则自动滚动功能非常有效。如果某些行使用多行(整个表格中高度可变的行),则自动滚动功能开始失效。这通常意味着您无法进入结果的最后一页,因为网格计算的垂直滚动条长度不正确 支持换行的样式: .ui-jqgrid tr.jqgrow td { font-weight: normal; overflow:
滚动:1
,并启用jqGrid,v4.4.1的列换行功能后,如果由于在一列或多列中换行而导致行高发生变化,网格/表格将无法滚动到最后一条记录。如果所有行仅使用一行(无换行),则自动滚动功能非常有效。如果某些行使用多行(整个表格中高度可变的行),则自动滚动功能开始失效。这通常意味着您无法进入结果的最后一页,因为网格计算的垂直滚动条长度不正确
支持换行的样式:
.ui-jqgrid tr.jqgrow td {
font-weight: normal;
overflow: hidden;
white-space: pre-wrap !important; /* changed to enable word wrap */
height: 22px;
padding: 0 2px 0 2px;
border-bottom-width: 1px;
border-bottom-color: inherit;
border-bottom-style: solid;
}
有办法解决这个问题吗?目前,我正在关闭文本换行,只是加宽列
是否可以修改
populateVisible
以不同方式计算垂直滚动条的长度?它似乎是根据第一行的高度x num rows(v4.4.1的第852行)来计算的。。我怀疑答案是“否”,但是…我能想到的唯一答案是为每个td设置一个固定的高度,并且仍然允许换行。但这并不是直截了当的:
.ui jqgrid tr.jqgrow td
中更改高度。(如果您也在使用,可能需要在.ui jqgrid tr.jqgroup td
上复制此样式。)
div
将内容包装在td
中注意:最后,我只使用22px(默认值)的单行,没有包装,cols设置得更宽一点-更快,并且仍然允许工具提示显示任何隐藏的文本。由于没有其他选择,接受作为答案。
.ui-jqgrid tr.jqgrow td {
font-weight: normal;
overflow: hidden;
white-space: pre;
height: 42px; /* higher fixed height, default is 22px */
padding: 0 2px 0 2px;
border-bottom-width: 1px;
border-bottom-color: inherit;
border-bottom-style: solid;
}