怎么判断jqgrid 渲染完毕
时间: 2023-09-10 12:13:39 浏览: 33
在jqGrid渲染完成后,可以通过在loadComplete事件中添加一个回调函数来判断。loadComplete事件是在jqGrid完成数据加载和渲染后触发的事件。在回调函数中,可以通过以下代码判断jqGrid是否渲染完成:
```javascript
loadComplete: function(){
var table = this;
setTimeout(function(){
if(table.grid.bDiv.offsetHeight < table.grid.bDiv.scrollHeight){
console.log('jqGrid渲染完毕');
}
}, 0);
}
```
这段代码会在loadComplete事件中添加一个回调函数,在回调函数中通过判断表格的高度来确定jqGrid是否渲染完成。如果表格的高度大于表格容器的高度,则说明表格数据已经全部渲染完毕。
相关问题
jqgrid 渲染表格 其余的字段 丢失
在 jqGrid 渲染表格时,如果您的数据中包含了一些您没有在列模型中定义的字段,那么这些字段的数据会被忽略,不会出现在表格中。
为了解决这个问题,您可以在列模型中添加一个隐藏列来存储这些额外的字段。您可以在这个隐藏列中使用 formatter 函数来显示您需要的数据。例如,如果您的数据中包含一个名为 `extra` 的字段,您可以添加一个隐藏列来存储这个字段的值:
```javascript
{
name: 'extra',
hidden: true
}
```
然后,您可以使用 formatter 函数来显示这个隐藏列中的数据。在 formatter 函数中,您可以使用 `cellvalue` 参数来获取隐藏列中的值,并将其显示在需要的位置。例如,如果您想在表格的第二列中显示 `extra` 字段的值,可以使用以下代码:
```javascript
{
name: 'name',
index: 'name',
width: 100,
formatter: function(cellvalue, options, rowObject) {
return rowObject.extra; // 在第二列中显示 extra 字段的值
}
}
```
请注意,这种方法只适用于您需要显示的字段数量比较少的情况。如果您的数据中包含了大量的额外字段,您可能需要重新考虑您的数据结构,或者使用其他的解决方案来处理这个问题。
jqgrid 5.0 重新渲染 searchoptions
要重新渲染 jqgrid 的 searchoptions,可以通过以下步骤实现:
1. 获取 jqgrid 的搜索框对象,可以通过以下代码获取:
```javascript
var searchBox = $('#gridId')[0].p.search;
```
2. 获取搜索框的参数对象,可以通过以下代码获取:
```javascript
var searchOptions = searchBox.options;
```
3. 修改搜索框的参数对象,可以通过以下代码修改:
```javascript
searchOptions.multipleSearch = true;
searchOptions.multipleGroup = true;
searchOptions.recreateFilter = true;
```
其中,multipleSearch 表示是否启用多条件搜索,multipleGroup 表示是否启用多条件分组搜索,recreateFilter 表示是否重新创建过滤器。
4. 重新渲染搜索框,可以通过以下代码实现:
```javascript
searchBox.destroyFilter();
searchBox.createFilter();
```
5. 重新触发搜索,可以通过以下代码实现:
```javascript
searchBox.search();
```
这样就可以重新渲染 jqgrid 的 searchoptions 了。