关于free-jqgrid 4.9.2,它会自动处理列宽吗?不,那么处理这个问题的正确方法是什么?
1)VIN&年份列包含太多可用空间
2)Trim包含的记录很少,无法放入列宽(例如1993 Mitsubishi 3000GT 2 Dr VR-4 Turbo AWD两厢车)
另外,jqGrid在某处设置了真/假“自动换行”设置吗?
在link removed
答案 0 :(得分:0)
自由宽度调整存在于以4.8版本开头的免费jqGrid中。免费的jqGrid仍然无法自动处理所有列的宽度。需要在colModel
中为列添加一些其他属性,这些列应根据最长内容的宽度设置宽度,并设置一些其他选项。
您当前的代码使用width: 190
列'Vin'
,并且不为任何其他列指定任何width
属性,因此将使用默认值width: 150
。此外,您使用jqGrid的width: 1022
选项和错误的选项autoWidth: true
(而不是autowidth: true
),这将被忽略。这意味着网格上div(bDiv或body div)的宽度将设置为1022px,用户可以使用水平滚动条查看所有列。
我建议你阅读the wiki article。您可以将autoResizable: true
属性添加到某些特定列,或使用cmTemplate: { autoResizable: true }
在所有列中添加属性。结果,网格的每个单元格的内容将包含在<span class="ui-jqgrid-cell-wrapper">...</span>
中。它允许空闲的jqGrid获取列的所有单元格的精确内容宽度,然后根据值计算最大值。因此,用户可以双击列缩放器(列之间)以将宽度设置为最佳值。在宽度计算jqGrid期间,列标题的宽度除了列的网格单元的宽度之外还有排序图标的宽度。可以使用autoResizing: { compact: true }
选项来减少没有可见排序图标的列的宽度。最后一个常见选项是autoresizeOnLoad: true
,我建议你使用它。它会将具有autoResizable: true
属性的列的宽度设置为最佳值。
所以我建议你在网格中添加以下选项:
cmTemplate: { autoResizable: true },
autoResizing: { compact: true },
autoresizeOnLoad: true
之后,列的宽度看起来会更好。
如果您希望将某些列的文本包装得太长,那么您可以使用the old answer中描述的CSS设置并设置列maxColWidth
的{{1}}属性(in autoResizing
)或网格的colModel
选项的全局设置maxColWidth
到列的最大宽度。将包含更长的文本。