jqgrid 重新初始化
时间: 2023-07-23 08:23:58 浏览: 42
如果需要重新初始化 jqGrid,可以使用以下代码:
```
// 销毁 jqGrid
$("#grid").jqGrid("GridUnload");
// 重新初始化 jqGrid
$("#grid").jqGrid({
// jqGrid 的配置项
...
});
```
这段代码会先销毁 jqGrid,然后重新初始化 jqGrid,从而实现 jqGrid 的重新初始化。
需要注意的是,销毁 jqGrid 时,可以使用 GridUnload 方法,而不是 destroy 方法。因为 destroy 方法只是销毁了表格本身,但是如果表格中使用了一些插件或者事件,这些插件和事件并不会被销毁,而使用 GridUnload 方法可以完全销毁 jqGrid,从而避免这个问题。
相关问题
jqgrid 重新初始化searchoptions
如果需要重新初始化 jqGrid 的 searchoptions,可以使用以下代码:
```
// 获取 colModel 中的所有列名
var colNames = $("#grid").jqGrid("getGridParam", "colNames");
for (var i = 0; i < colNames.length; i++) {
var colName = colNames[i];
var colModel = $("#grid").jqGrid("getColProp", colName);
// 如果该列是一个下拉框,则重新设置其 searchoptions 数据源
if (colModel.edittype === "select") {
var editoptions = colModel.editoptions;
if (editoptions && editoptions.value) {
var options = editoptions.value;
$("#grid").setColProp(colName, { searchoptions: { value: options }});
}
}
}
// 重新初始化搜索栏
$("#grid")[0].triggerToolbar();
```
这段代码会遍历 colModel 中的所有列,如果该列是一个下拉框,则重新设置其 searchoptions 数据源。然后,再重新初始化搜索栏,从而实现 searchoptions 的重新初始化。
jqgrid 初始化请求带参数
要在 jqGrid 初始化时带参数发送请求,可以在jqGrid的配置项中使用 postData 属性设置参数。postData 的值应该是一个对象,其中的属性名是参数名,属性值是参数值。例如:
```javascript
$("#grid").jqGrid({
url: "example.php",
datatype: "json",
mtype: "POST",
postData: {
param1: "value1",
param2: "value2"
},
colNames: ["Column 1", "Column 2"],
colModel: [
{ name: "col1", index: "col1", width: 100 },
{ name: "col2", index: "col2", width: 100 }
]
});
```
在这个例子中,当 jqGrid 初始化时,会发送一个 POST 请求到 example.php,并且会带上两个参数 param1 和 param2,它们的值分别是 "value1" 和 "value2"。在 example.php 中可以通过 $_POST["param1"] 和 $_POST["param2"] 来获取这两个参数的值。