easyui datagrid编辑行后,如何保存
时间: 2024-01-09 21:04:40 浏览: 136
在 EasyUI Datagrid 编辑行后,可以通过以下步骤保存数据:
1. 获取编辑后的数据:在 Datagrid 编辑完成后,可以通过 `datagrid('getChanges')` 方法获取到修改的数据。
2. 发送数据到后台:使用 AJAX 技术将修改后的数据发送到后台进行保存。可以使用 jQuery 中的 `$.ajax()` 方法或者 `$.post()` 方法实现。
3. 处理保存结果:后台保存数据完成后,需要返回相应的结果。可以使用 JSON 格式返回保存结果。根据返回结果,可以给出相应的提示信息。
下面是一个示例代码:
```javascript
// 获取修改后的数据
var changes = $('#datagrid').datagrid('getChanges');
// 发送数据到后台保存
$.ajax({
url: 'save.php',
type: 'post',
data: {changes: JSON.stringify(changes)},
dataType: 'json',
success: function(result){
if(result.success){
// 保存成功,刷新数据
$('#datagrid').datagrid('reload');
}else{
// 保存失败,给出相应的提示信息
alert(result.message);
}
}
});
```
在后台处理保存数据的代码中,可以根据需求使用相应的技术进行数据保存。例如,可以使用 PHP 的 PDO 技术进行数据库操作,代码如下:
```php
// 获取修改后的数据
$changes = json_decode($_POST['changes'], true);
// PDO 连接数据库
$dsn = "mysql:host=localhost;dbname=mydatabase;charset=utf8";
$user = "myuser";
$pass = "mypassword";
$pdo = new PDO($dsn, $user, $pass);
// 开始事务
$pdo->beginTransaction();
try {
// 循环保存修改后的数据
foreach($changes as $change){
$id = $change['id'];
$name = $change['name'];
$age = $change['age'];
// 更新数据库中的数据
$sql = "UPDATE mytable SET name=?, age=? WHERE id=?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$name, $age, $id]);
}
// 提交事务
$pdo->commit();
// 返回保存成功的结果
$result = array('success' => true);
echo json_encode($result);
} catch (PDOException $e) {
// 回滚事务
$pdo->rollBack();
// 返回保存失败的结果
$result = array('success' => false, 'message' => $e->getMessage());
echo json_encode($result);
}
```
阅读全文