`
zjny520
  • 浏览: 179611 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

EXT批量删除

    博客分类:
  • EXT
阅读更多

 

1.EXT批量删除:JS前端

           new Ext.Button({

           id:'btDelete',

  text:'删除',

  iconCls:'btDelete',

  minWidth:60,

             handler: function(){

      

var selectedKeys = grid.selModel.selections.keys;

 

       if(selectedKeys.length > 0)

       {

       if (confirm("确定删除所选数据吗?"))

{

var records = grid.selModel.selections.items;//得到被选择的行的数组

       var recordsLen = records.length;//得到行数组的长度

var arrayObj = new Array(); //创建一个数组 

for(var i = 0;i<recordsLen;i++){

var jsonObj={};

jsonObj.rowid=records[i].data.DEVNEROWID;

jsonObj.equit_ip=records[i].data.EQUIT_IP;

jsonObj.bas_ip=records[i].data.BAS_IP;

jsonObj.bas_port=records[i].data.BAS_PORT;

jsonObj.pvlan=records[i].data.PVLAN;

jsonObj.cvlan_start=records[i].data.CVLAN_START;

jsonObj.cvlan_stop=records[i].data.CVLAN_STOP;

jsonObj.devnbe_sta=records[i].data.DEVNBE_STA;

jsonObj.devnbe_sto=records[i].data.DEVNBE_STO;

jsonObj.ne_id="";

arrayObj.push(jsonObj);

// alert(arrayObj[i].ne_id);

//alert(arrayObj[i].devnbe_sto);

}

//alert(arrayObj.toJSONString());

//var arrayObjJson=escape(arrayObj.toJSONString());

var arrayObjJson=(arrayObj.toJSONString());//转换成JSON数组

Ext.Ajax.request({

   url: "<%=request.getContextPath() %>/inck/query/inckAdslDevNeAction.do?method=deleteInckAdslDevNeVolume",

   params: {ROWID: arrayObjJson},

   method: 'POST',

   callback: function(opts, success, response){

       if (success) {   

        var aText = response.responseText;

       

    var aTextArray = aText.split("|");

        if (aTextArray[0] != "1"){

        alert(aTextArray[1]);

        return ;

        }                                      

           pPagingToolbar.doLoad(pPagingToolbar.cursor);

       } else {  

        alert("删除数据失败!");

       }

   }

});        

           }else{

           //EnableControl(true);

simple.getForm().reset();

iState = 0;

           };

} else {

           alert('请选择要删除的数据!');

       }            

             }

          })

 

2.java后台处理:

 

public ActionForward deleteInckAdslDevNeVolume(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) throws IOException{

String rowidString = request.getParameter("ROWID");

// log.info("rowidArray="+rowidString);

// ServletContext context = servlet.getServletContext();

UserVO currUserVO = (UserVO) request.getSession().getAttribute("CurrentUser");

String loginid = (String)currUserVO.getLoginName();

String operID = (String)currUserVO.getLoginName();

String operName = (String)currUserVO.getUserName();

ArrayList<String> listUser = new ArrayList<String>();

if(null!=loginid){

listUser.add(0, loginid);

}else{

listUser.add(0, "");

}

if(null!=operID){

listUser.add(1, operID);

}else{

listUser.add(1, "");

}

if(null!=operName){

listUser.add(2, operName);

}else{

listUser.add(2, "");

}

// log.info("jarr="+array.size());

List equit_ip_list = new ArrayList();

JSONArray array = JSONArray.fromObject(rowidString); 

for(int i=0;i<array.size();i++){

JSONObject jsonObject = array.getJSONObject(i);   

equit_ip_list.add(jsonObject.get("equit_ip"));

}

ArrayList userOfficeRight=(ArrayList) userOfficeRight(loginid,(ArrayList) equit_ip_list);

String aError="1|删除成功!";

if(userOfficeRight.size()==0){

try{

dao.deleteInckAdslDevNeBatch(listUser,rowidString);//这里进行批量删除

}catch(Exception ex){

aError="2|删除失败!";

}

}else{

String aErrorString = "3|";

for(int i=0;i<userOfficeRight.size();i++){

// log.info("userOfficeRight.get(i).toString()"+userOfficeRight.get(i).toString());

aErrorString+=(userOfficeRight.get(i).toString()+",");

// log.info("aErrorString======"+aErrorString);

// =","+userOfficeRight.get(i).toString();

}

// log.info("aErrorString======"+aErrorString);

aError=aErrorString+"您没有权限!";

}

response.setContentType("text/html; charset=GB2312");

PrintWriter out = response.getWriter();

response.setHeader("Expires", "Mon, 26 Jul 1997 05:00:00 GMT");

        response.setHeader("Cache-Control", "no-cache, must-revalidate");

      response.setHeader("Pragma", "no-cache");      

        out.print(aError);

        out.flush();

        out.close();

return null;

}

 

3.批量删除以及解析JSON数组:

 

public void deleteInckAdslDevNeBatch(ArrayList listUser,String rowidArray)throws Exception{

System.out.println("rowidArray="+rowidArray);

JSONArray array = JSONArray.fromObject(rowidArray); 

Object[] obj = new Object[array.size()];  

List listSql = new ArrayList();

Date currentTime = new Date();

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String dateString = formatter.format(currentTime);

for(int i=0;i<array.size();i++){

JSONObject jsonObject = array.getJSONObject(i);   

Map map = new HashMap();

try {

String sql ="delete inck_t_adsl_devnbr_ne where ROWID= CHARTOROWID('"+ jsonObject.get("rowid")+"')";

StringBuffer sqlLog = new StringBuffer();

sqlLog.append("insert into INCK_T_ADSL_DEVNBR_NE_LOG (operaId,operaName,") ;

sqlLog.append("loginID,operaTime,operaType,EQUIT_NAME,EQUIT_IP,BAS_NAME,BAS_PORT");

sqlLog.append(",BAS_IP,PVLAN,CVLAN_START,DEVNBE_STA,DEVNBE_STO,CVLAN_STOP");

sqlLog.append(")  values('"+listUser.get(1).toString()+"','"+listUser.get(2).toString()+"','"

+listUser.get(0).toString()+"','"+dateString+"','"+"被删除"+"','"+"未知"+"','"+jsonObject.get("equit_ip")+"','"

+"未知"+"','"+jsonObject.get("bas_port")+"','"+jsonObject.get("bas_ip")+"','"+jsonObject.get("pvlan")+"','"

+jsonObject.get("cvlan_start")+"','"+jsonObject.get("devnbe_sta")+"','"+jsonObject.get("devnbe_sto")+"','"

+jsonObject.get("cvlan_stop")+"')");

// jsonObject.get("cvlan_stop")+"','"+jsonObject.get("ne_id")+"')");

listSql.add(sql.toString());

listSql.add(sqlLog.toString());

log.info(listSql.get(i).toString());

// log.info(listSql.get(i+1).toString());

} catch (JSONException e) {

e.printStackTrace();

} //从数组中得到JSONObject对象

  

}

log.info("listSql.size()="+listSql.size());

int ret = dbInck.updateBatchSql(listSql);

if (ret == -1){

throw new Exception(); 

}

}

4.需要导入的包;

* jakarta commons-lang 2.4
    * jakarta commons-beanutils 1.7.0
    * jakarta commons-collections 3.2
    * jakarta commons-logging 1.1.1
    * ezmorph 1.0.6

分享到:
评论

相关推荐

    批量删除文件或批量修改文件名

    在IT行业中,对文件进行批量操作是常见的需求,比如批量删除文件或批量修改文件名。这些操作能够极大地提高工作效率,特别是在处理大量文件时。这里我们将详细介绍如何使用Notepad++这一强大的文本编辑器来实现这两...

    Ext中grid多行数据全部删除

    具体实现方式为,在获取所有选中行的ID后,调用服务器端接口,传递这些ID进行批量删除操作。这里需要注意的是,删除操作应该在服务器端完成,前端负责发送请求并将结果反馈给用户。 1. **服务器端接口设计**: - ...

    ext实现图片批量上传(包含Java,和。net 两个版本的哦)

    在这个场景中,“ext实现图片批量上传”指的是利用ExtJS来创建一个功能,允许用户一次性选择并上传多张图片。这种功能在各种应用程序中都很常见,比如社交网络、博客平台或任何需要用户上传图片的地方。 批量上传...

    EXT的公司内部管理系统框架

    布局,动态树,动态菜单,grid,新增,编辑,删除,openflashchart的报表控件 文件批量上传,excel的上传解析,下载,comboboxTree,选择泡泡等 基本上的功能都有了 结构: CompSolution.Common CompSolution.Bll ...

    EXT2.1 API 中文说明文档

    - **性能优化**:提供有关如何高效使用API的建议,例如批量操作和缓冲策略。 - **线程安全**:如果API支持多线程环境,会说明哪些函数是线程安全的,哪些需要额外的同步措施。 在阅读和学习EXT2.1 API中文说明文档...

    EXT实现动态树的功能

    动态树允许用户在运行时进行编辑、添加、删除和批量操作节点,从而提供更加灵活的数据管理体验。 首先,我们要理解EXT中的树形组件(TreePanel)。TreePanel是EXT中用于展示树状结构数据的核心组件,它可以动态加载...

    Ext+JS高级程序设计.rar

    6.3.1 批量请求和批量响应 178 6.3.2 在tree中使用Ext.Direct 181 6.3.3 为grid设置DirectStore 183 6.3.4 在form中使用Ext.Direct加载数据 185 6.3.5 在form中使用Ext.Direct提交数据 187 6.3.6 使用polling方式...

    ExtJs框架系列之图片批量显示,上传,删除

    在本文中,我们将深入探讨如何使用ExtJs框架实现图片的批量显示、上传和删除功能。ExtJs是一款强大的JavaScript库,专用于构建富客户端应用程序,它提供了丰富的组件和强大的数据管理能力,非常适合处理图像操作。 ...

    bat使用forfiles自动批量删除过期文件

    ### bat使用forfiles自动批量删除过期文件 在IT领域中,特别是在Windows系统管理方面,自动化脚本的应用非常广泛。本文将详细介绍如何使用`forfiles`命令来自动批量删除过期文件,这对于维护服务器存储空间、提高...

    Ext2.0 文件上传组件

    - 多文件选择:用户可以一次选择多个文件进行批量上传,提高了操作效率。 - 进度条显示:在上传过程中,组件会显示每个文件的上传进度,提供良好的用户体验。 - 错误处理:当上传失败时,组件能够捕获错误并提供...

    删除任何删不了的文件

    这对于批量删除操作非常有用。 3. **`takeown`命令**:这个命令可以更改文件的所有者,使得当前用户具有删除文件的权限。例如:`takeown /F "顽固文件路径" /A /R` 4. **`icacls`命令**:`icacls`用于修改文件或...

    (extundelete)Vim编辑器和恢复ext4下误删除的文件-Xmanager工具-随堂笔记.docx

    - 通过`v`进入列编辑模式,可以选中多个字符进行批量操作,如多行注释、删除等。 **恢复ext4下误删除的文件** 在Linux中,如果在根目录下误删除了文件,可以尝试使用`extundelete`工具来恢复。需要注意的是,一旦...

    高级Ext上传功能,绝对精彩

    10. **批量操作**:批量删除、下载或管理已上传的文件是高级上传功能的另一个亮点,可以大大提高用户的工作效率。 在压缩包“dogdisk”中,可能包含了实现这些高级上传功能的代码示例、配置文件或者相关的文档资料...

    ext3 格式化工具PAInstall

    6. **安全擦除**:彻底删除分区内容,确保数据无法恢复。 **专业版特性** 作为5.5专业版,可能还包括以下高级特性: 1. **更全面的磁盘支持**:可能支持更多的硬件类型和虚拟磁盘格式。 2. **批量操作**:允许...

    EXtjs 图片批量上传

    本教程将深入探讨如何在ExtJS中实现图片的批量上传功能,以及与之相关的批量删除操作。 首先,批量上传图片的核心是利用HTML5的File API,它允许用户在不离开当前页面的情况下读取、处理和上传本地文件。在ExtJS中...

    Ext用户扩展控件 ------超级下拉列表控件支持多选,删除,添加

    用户可以通过复选框或者其他方式(如键盘快捷键、右键菜单等)来选择多个选项,这对于需要处理大量数据并进行批量操作的场景非常有用。 3. **删除功能** 在UxSuperBoxSelect中,用户可以直接从选定的选项中删除不...

    ext_image.rar_ext_image_extjs_extjs 4.2 img_extjs image_extjs图片上

    本资源"ext_image.rar"聚焦于ExtJS框架在处理图片批量显示、上传和删除方面的应用,特别是针对版本4.2。 首先,ExtJS 4.2是这个库的一个稳定版本,它引入了许多新特性、性能优化以及对旧版API的改进。在图片处理...

    ext3.x 支持全选半选的树

    当我们谈论"ext3.x 支持全选半选的树"时,这实际上是指ext3.x文件系统在处理目录结构时的一种功能增强,它允许用户在操作文件或目录时实现全选和半选的操作,这对于文件管理特别是批量操作提供了极大的便利。...

    ExtJs4.1 treegrid CRUD 读取、新增、修改、删除

    实现treegrid组件的(CRUD)读取、新增、修改、删除 //设置grid单元格处于编辑状态 selcell:function(arow,acol){ this.editingPlugin.startEditByPosition({row:arow,column:acol}); }, selcell2:function(node,...

    Ext用户扩展控件----------支持多选的列表,就像QQ控件添加删除音乐列表的控件

    本文将深入探讨一个特定的EXT扩展控件——支持多选的列表,该控件类似于QQ控件中用于添加和删除音乐列表的交互方式。 EXT是一个基于JavaScript的富客户端应用开发框架,由Sencha公司开发。它提供了大量的预定义组件...

Global site tag (gtag.js) - Google Analytics