• 关于Ext中多行删除数据的问题


    删除多行数据,只要在代码中加上

    selModel:Ext.create('Ext.selection.CheckboxModel',{mode:"SIMPLE"}),  

     1  Ext.apply(this, {
     2             title: '商品单位',
     3             id:'tMeUnitInfoid',
     4             store: mystore,
     5             selModel:Ext.create('Ext.selection.CheckboxModel',{mode:"SIMPLE"}),     //多选框checkbox
     6             closable:true,
     7             sortableColumns:false,
     8             columns: [
     9                 {text:'单位编码',dataIndex:'unitId',xtype:'hidden'},
    10                 {text:'名称',dataIndex:'name'},
    11                 {text: '状态', dataIndex: 'status'},
    12                 {text: '备注', dataIndex: 'remark'}
    13             ],
    14              400,

    解决方法:

    我用删除多行数据传到后台的方法是在url上加上一个字符串(字符串中写的是每个我需要删除的值得主键id值,并且用","分割),然后在后台通过定义一个字符串接受,并且用split方法分割数据传到一个数组里,遍历数组,删除每条数据。

    extjs代码如下:

     1  xtype:'button',text:'删除',
     2                     handler:function(){
     3                         var tagMsg=Ext.getCmp('tMeUnitInfoid').getSelectionModel().getSelection();
     4                         var length1=tagMsg.length;
     5                         if(tagMsg.length>1){
     6                             var list='';
     7                             for(var i= 0 , length= Ext.getCmp('tMeUnitInfoid').getSelectionModel().getSelection().length;i<length;i++){
     8                                 list+=tagMsg[i].get('unitId');
     9                                 if (i != length - 1) {
    10                                     list += ',';
    11                                 }
    12                             };
    13                             Ext.Msg.show({
    14                                 title:'删除',
    15                                 msg:'确定要删除'+length1+'条数据吗?',
    16                                 icon: Ext.MessageBox.WARNING,
    17                                 buttons: Ext.MessageBox.YESNO,
    18                                 fn:function(btn){
    19                                     if(btn=='yes'){
    20                                         Ext.Ajax.request({
    21                                             url: '/tMeUnitInfoCheck?deleteMany=' + list,
    22                                             success: function (response) {
    23                                                 var msg = Ext.JSON.decode(response.responseText);
    24                                                 Ext.getCmp('tMeUnitInfoid').store.reload();
    25                                                 var totalCount = mystore.getTotalCount(); // 所有的记录数,不单单是当前页展示的数据
    26                                                 var pageSize = mystore.pageSize; // 一页上面展示的记录条数
    27                                                 var curPage = mystore.currentPage; // 当前页码
    28                                                 var fromRecord = ((curPage - 1) * pageSize) + 1; // 当前页展示的起始记录号
    29                                                 var toRecord = Math.min(curPage * pageSize, totalCount); // 当前页展示的结尾记录号
    30                                                 var totalOnCurPage = toRecord - fromRecord + 1; // 当前页展示的记录条数
    31                                                 var totalPageCount = Math.ceil(totalCount / pageSize); // 总的页数
    32                                                 var delCount = length1;// 删除的记录条数
    33                                                 //若当前页是最后一页,且不是仅有的一页,且删除的记录数是当前页上的所有记录数
    34                                                 if (curPage === totalPageCount && totalPageCount != 1 && delCount == totalOnCurPage)
    35                                                 {
    36                                                     mystore.currentPage-1;
    37                                                     Ext.getCmp('tMeUnitInfoid').store.loadPage(mystore.currentPage-1);
    38                                                 }
    39                                                 Ext.MessageBox.show({
    40                                                     title: '成功',
    41                                                     msg: msg.msg,
    42                                                     icon: Ext.MessageBox.WARNING,
    43                                                     buttons: Ext.MessageBox.YES
    44                                                 });
    45                                             },
    46                                             failure: function (response) {
    47                                                 var msg = Ext.JSON.decode(response.responseText);
    48                                                 Ext.getCmp('tMeUnitInfoid').store.reload();
    49                                                 Ext.MessageBox.show({
    50                                                     title: '失败',
    51                                                     msg: msg.msg,
    52                                                     icon: Ext.MessageBox.QUESTION,
    53                                                     buttons: Ext.MessageBox.YES
    54                                                 });
    55                                             }
    56                                         });
    57                                     }
    58                                 }
    59                             })
    60                             return;
    61                         }

    后台Java代码:

     public String deleteCheck(){
            String arr[]=deleteMany.split(",");
            for(int i =0;i<arr.length;i++){
                    int a =dao.extcuteHQL("delete from TMeUnitInfo WHERE unitID=?",arr[i]);
                    if(a>0){
                        setMsg("删除商品信息成功!");
                    }else if(a<0){
                        setMsg("删除商品信息失败!");
                }
    
            }
            return SUCCESS;
        }
  • 相关阅读:
    How To Build CyanogenMod Android for smartphone
    CentOS安装Code::Blocks
    How to Dual boot Multiple ROMs on Your Android SmartPhone (Upto Five Roms)?
    Audacious——Linux音乐播放器
    How to Dual Boot Multiple ROMs on Your Android Phone
    Everything You Need to Know About Rooting Your Android Phone
    How to Flash a ROM to Your Android Phone
    什么是NANDroid,如何加载NANDroid备份?
    Have you considered compiled a batman-adv.ko for android?
    BATMAN—Better Approach To Mobile Adhoc Networking (B.A.T.M.A.N.)
  • 原文地址:https://www.cnblogs.com/chfg/p/4103871.html
Copyright © 2020-2023  润新知