datagrid刪除記錄小TIP

刪除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的大神可以具體解釋下原因嗎???

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章