刪除datagrid刪除記錄
使用的jquery框架,在權限管理或者POJO之間有一對多,多對多時關聯關係的刪除.
1.需要解除關聯關係的datagrid的的查詢,沒有分頁(所有的能查詢的方法都不分頁,後臺實現不能分頁)
//datagrid查詢的方法是
$('#stationData').datagrid( {
url : 'stationAction!query.action',
queryParams : {
userid : selected.id
}
//-----------------------------
function deleteUserStation() {
var userSelected = $('#userData').datagrid('getSelected');
if (userSelected == null) {
setMessage("請選擇要解綁的用戶信息!");
return;
}
var stationSelected = $('#stationData').datagrid('getSelected');
if (stationSelected == null) {
setMessage("請選擇要解綁的崗位信息!");
return;
}
stationSelected = $('#stationData').datagrid('getSelections');
var userData = JSON.stringify(userSelected);
var stationData = JSON.stringify(stationSelected);
$.messager.confirm("系統提示", "確定要解除綁定嗎?", function(result) {
if (result) {
showLoad("操作執行中,請稍後...");
$.post('roleManageAction!deleteUserStation.action', {
userData : userData,
stationData : stationData
}, function(data) {
if (data.messageCode != "success") {
setMessage("解綁失敗!");
} else {
hideLoad();
setMessage("解綁成功!");
for(var i =0; i<stationSelected.length;i++){//這裏在刪除的時候,stationSelected.length與$('#stationData').datagrid('deleteRow',inde)的執行無關
var inde = $('#stationData').datagrid('getRowIndex',stationSelected[i]);
$('#stationData').datagrid('deleteRow',inde);
}
}
});
}
});
}
2.需要解除關聯關係的datagrid的的查詢,分頁顯示(整個頁面出現一次即可)
//datagrid查詢的方法是
$('#stationData').datagrid( {
url : 'stationAction!queryStation.action',
pageNumber : 1,
queryParams : {
userid : selected.id
}
//-----------------------------
function deleteUserStation() {
var userSelected = $('#userData').datagrid('getSelected');
if (userSelected == null) {
setMessage("請選擇要解綁的用戶信息!");
return;
}
var stationSelected = $('#stationData').datagrid('getSelected');
if (stationSelected == null) {
setMessage("請選擇要解綁的崗位信息!");
return;
}
stationSelected = $('#stationData').datagrid('getSelections');
var userData = JSON.stringify(userSelected);
var stationData = JSON.stringify(stationSelected);
$.messager.confirm("系統提示", "確定要解除綁定嗎?", function(result) {
if (result) {
showLoad("操作執行中,請稍後...");
$.post('roleManageAction!deleteUserStation.action', {
userData : userData,
stationData : stationData
}, function(data) {
if (data.messageCode != "success") {
setMessage("解綁失敗!");
} else {
hideLoad();
setMessage("解綁成功!");
for(var i =0; i<stationSelected.length;){//這裏在刪除的時候,stationSelected.length會隨着$('#stationData').datagrid('deleteRow',inde)的執行而遞減
var inde = $('#stationData').datagrid('getRowIndex',stationSelected[i]);
$('#stationData').datagrid('deleteRow',inde);
}
}
});
}
});
}
希望對大家有用!也可能是其他原因。哪位Jquery的大神可以具體解釋下原因嗎???