jqgird 设置横向滚动
时间: 2023-09-01 12:06:22 浏览: 99
在 jqGrid 中,可以通过设置 `shrinkToFit` 属性来自动调整表格宽度,使其适应父容器的宽度。但是,如果表格有太多的列,或者某些列的宽度比较大,可能会导致表格过宽,超出了父容器的宽度。
为了解决这个问题,可以通过设置横向滚动来显示表格,具体实现方法如下:
1. 在 `colModel` 中为每个列设置固定的宽度,例如:
```javascript
colModel: [
{name: 'id', index: 'id', width: 50},
{name: 'name', index: 'name', width: 100},
{name: 'age', index: 'age', width: 80},
...
]
```
2. 在表格的父容器中添加一个固定宽度的 `<div>` 元素,并为其设置 `overflow-x: auto` 样式,例如:
```html
<div style="width: 800px; overflow-x: auto;">
<table id="grid"></table>
</div>
```
上述代码中,设置了一个宽度为 800px 的 `<div>` 元素,并且为其设置了横向滚动样式。
3. 在 jqGrid 的 `gridComplete` 事件中重新设置表格的宽度,使其等于所有列的宽度之和。具体实现方法如下:
```javascript
gridComplete: function() {
var $grid = $(this);
var colModel = $grid.jqGrid('getGridParam', 'colModel');
var gridWidth = 0;
for (var i = 0; i < colModel.length; i++) {
gridWidth += colModel[i].width;
}
$grid.jqGrid('setGridWidth', gridWidth);
}
```
上述代码中,通过循环获取表格的各个列,并将它们的宽度相加,得到表格的总宽度。然后调用 `setGridWidth` 方法将表格的宽度设置为总宽度。
完成上述步骤后,就可以设置横向滚动来显示表格了。
阅读全文