JQGrid 动态设置 postdata
时间: 2023-08-08 07:04:31 浏览: 110
您可以使用`setGridParam`方法动态设置JQGrid的postdata参数。以下是一个示例:
```javascript
// 获取Grid实例
var grid = $("#grid_id");
// 动态设置postdata参数
grid.jqGrid('setGridParam', {
postData: {
param1: value1,
param2: value2
}
});
// 重新加载Grid
grid.trigger("reloadGrid");
```
在上面的示例中,`setGridParam`方法用于设置`postData`参数,该参数是一个对象,包含您要发送给服务器的数据。设置完成后,您需要使用`trigger`方法重新加载Grid以应用更改。
相关问题
jqGrid post请求
jqGrid 是一个基于 jQuery 的表格插件,可以实现表格的分页、排序、筛选等功能。在 jqGrid 中,可以通过 post 请求获取后端返回的数据。
具体实现步骤如下:
1. 在前端页面中定义 jqGrid 表格,并设置相关参数,如表格列名、分页大小等。
2. 在 JavaScript 中定义一个函数,用于向后端发送 post 请求,并将返回的数据填充到 jqGrid 表格中。
3. 在后端接收 post 请求,并根据请求参数进行数据查询和处理,最终返回符合条件的数据。
4. 前端接收到后端返回的数据后,将数据填充到 jqGrid 表格中。
示例代码如下:
前端页面:
```
<table id="grid"></table>
```
JavaScript 代码:
```
$(function () {
$("#grid").jqGrid({
url: "backend.php",
datatype: "json", mtype: "POST",
colNames: ["ID", "Name", "Age"],
colModel: [
{ name: "id", index: "id", width: 50 },
{ name: "name", index: "name", width: 100 },
{ name: "age", index: "age", width: 50 }
],
rowNum: 10,
rowList: [10, 20, 30],
pager: "#pager",
sortname: "id",
viewrecords: true,
sortorder: "asc",
caption: "jqGrid Example"
});
});
function loadData() {
$.post("backend.php", function (data) {
$("#grid").jqGrid("clearGridData");
$("#grid").jqGrid("setGridParam", { data: data }).trigger("reloadGrid");
});
}
```
后端 PHP 代码:
```
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "root", "password", "test");
// 查询数据
$sql = "SELECT * FROM users";
$result = mysqli_query($conn, $sql);
// 将查询结果转换为 JSON 格式
$data = array();
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row;
}
echo json_encode($data);
// 关闭数据库连接
mysqli_close($conn);
?>
```
jqgrid以post方式传参但如何设置分页
在jQuery Grid (jqGrid) 中,如果需要通过POST方式传递数据并同时处理分页,你需要在发送请求时包含一些额外的信息。以下是一个基本步骤:
1. **初始化jqGrid**:
首先,创建一个jqGrid,并配置它使用POST方法发送请求。例如:
```javascript
$("#myGrid").jqGrid({
url: 'your_server_url', // 替换为你实际的服务器端URL
datatype: 'json',
method: 'POST',
mtype: 'POST',
...其他常规配置...
});
```
2. **添加额外的参数**:
在发送数据到服务器时,你需要包括用于分页的参数,如page、limit和sortOrder。你可以将这些值附加到常规的数据对象中,比如 `postData` 或者 `beforeSend` 回调里:
```javascript
var postData = {
page: $('#myGrid').getGridParam('page'), // 获取当前页面
rows: $('#myGrid').getGridParam('rows'), // 获取每页显示的行数
sortname: $('#myGrid').getGridParam('sortname'), // 当前排序字段
sortorder: $('#myGrid').getGridParam('sortorder') // 排序顺序
};
$.ajax({
type: 'POST',
url: 'your_server_url',
data: postData,
success: function(data) {
// 处理返回的数据
},
complete: function() {
// 分页完成后更新网格
$('#myGrid').trigger('reloadGrid');
}
});
```
3. **服务器端处理**:
服务器接收到POST请求后,需要解析这些分页参数,然后返回对应的数据。通常,服务器会根据这些参数从数据库查询对应的部分记录。
阅读全文