您的位置:首页 > Web前端 > JavaScript

EXTJS4.x之实战项目(7)ArticleGridPanel实现增删改查之删

2014-06-14 16:13 567 查看
接下来实现删除功能,删除功能不需要复杂的界面,只需要获取用户选中的行,然后从中获取id,最后把要删除的id提交给后端程序即可。由于要实现同时删除多个功能,所以我们之前已经把gridpanel的selModel设置成CheckboxModel以此来支持批量删除。

1)编写ArticleGridPanelController的del函数,内容如下:

var grid = sender.ownerCt.ownerCt;
    var selRecords = grid.getSelectionModel().getSelection();
    var len = selRecords.length;
    var ids = "";
    if (len == 0) {
        Ext.MessageBox.alert("提示消息", "您未选中行!");
        return false;
    }
    Ext.Msg.confirm("提示", "确定要删除吗?", function (btn) 
    {
        if (btn == "yes") {
            selRecords = grid.getSelectionModel().getSelection();
            len = selRecords.length;
            if(len == 0){
                return;
            }
            for (var i = 0; i < len; i++) {
                if (i == len - 1) 
                { 
                    ids += selRecords[i].get("id"); 
                }
                else {
                    ids += selRecords[i].get("id") + ",";
                }
            }
            Ext.Ajax.request(
            {
                url: "../article/delete",
                waitMsg: '正在提交数据',
                waitTitle: '提示',
                params: {
                    "ids": ids
                },
                success: function (reponse, option) {
                    grid.getStore().reload();
                    Ext.MessageBox.alert("提示消息", "删除成功!");
                },
                failure: function () {
                    Ext.MessageBox.alert("提示消息", "删除失败!");
                }
            }
            );
        }
    });


要删除的id以字符串方式发送,多个id用英文逗号分开。

保存运行效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: