有没有办法不显示滚动条?我们也不想显示滚动条所占的额外空间,即使我们的数据在网格上不适合。
height
和width
设置为100%,然后滚动条将不会出现。仅当网格大于分配的空间时,它们才会出现。要删除额外的条的空间,请将scrollOffset
设置为0。$("#myGrid").jqGrid({
url: 'datasourceurl',
datatype: "json",
colNames: eval(json.colNames),
colModel: eval(json.colModel),
rowNum: -1,
width: 100%,
height: 100%,
scrollOffset: 0,
rowList: [10, 20, 30],
pager: jQuery('#myPager'),
...
},
我没有测试过这个,但我使用height: 100%
来达到同样的目的...所以如果你发现有什么缺失,请告诉我。
编辑:更好的定义和对我的json使用的改进 - 感谢Oleg :)
$("#myGrid").jqGrid({
url: 'datasourceurl',
datatype: "json",
colNames: JSON.parse(json.colNames),
colModel: JSON.parse(json.colModel),
width: '100%',
height: '100%',
rowList: [10, 20, 30],
pager: jQuery('#myPager'),
...
},
scrollOffset:0
来实现。这个技巧可以在这里找到:这里。scrollOffset:0
的设置来帮助你消除滚动条。请尝试使用一个没有scrollOffset:0
的测试页面http://www.ok-soft-gmbh.com/jqGrid/ClientsideEditing6.htm进行测试。它只使用了`width:'100%'`和`height:'100%'`。你能找到一个例子,在这个例子中你可以看到滚动条吗? - OlegscrollOffset
参数的值与width: '100%'
和height: '100%'
设置一起使用时是绝对不重要的,这些设置会关闭jqGrid中的滚动。只需比较具有scrollOffset:500
的http://www.ok-soft-gmbh.com/jqGrid/ClientsideEditing7.htm和具有默认值`scrollOffset`的http://www.ok-soft-gmbh.com/jqGrid/ClientsideEditing6.htm。你能看到任何区别吗?我看不到。 - Oleg
eval
很危险。如果你在某处需要它,应该使用JSON.parse
。在所有现代浏览器中速度更快(参见http://www.json.org/js.html),而且当然也更安全。使用`rowNum: -1也是危险的。这取决于您使用的服务器。更安全的方法是使用
rowList中的一个值或像10000这样的大整数。我认为使用
scrollOffset:0`似乎也不必要。很抱歉批评这么多,但我必须这样写。 - Oleg