`
贝特虫子
  • 浏览: 157250 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

ExtJs删除数据

阅读更多

ExtJs删除数据代码如下:

// 删除
delete_users : function() {
	var selectedRows = this.getSelectionModel().getSelections();// 返回值为
	// Record 数组
	if ((!selectedRows) || (selectedRows.length <= 0)) {
		Ext.MessageBox.alert('提示', '请选择要删除的数据...');
		return;
	}
	// 将选中行数据依次加入数组,以备作为参数传送
	var recToDelete = [];
	for (var i = 0; i < selectedRows.length; i++) {
		// debugger;
		// 1为系统管理员,不能删除
		id_v = selectedRows[i].get('id');
		// alert(id_v);
		if (id_v != 1)
			recToDelete.push(selectedRows[i].data);
	}

	Ext.MessageBox.confirm('系统提示', '删除数据不可恢复!<br />您确定要删除所选数据吗?', function(
			btn) {
		if (btn == 'yes') {
			this.body.mask('正在删除数据...', 'x-mask-loading');
			Ext.Ajax.request({
						scope : this,
						url : 'app/servant/delete_user.do',
						params : {
							recToDelete : Ext.encode(recToDelete)
							// 将选中行的数据编码为JSON形式
						},
						success : function(response, options) {
							if (response.responseText != '') {
								var rst = Ext.util.JSON
										.decode(response.responseText);
								if ((rst) && (rst.success)) {
									for (var i = 0; i < selectedRows.length; i++) {
										// 1为系统管理员,不能删除
										id_v = selectedRows[i].get('id');
										if (id_v != 1)
											this.store
													.remove(selectedRows[i]);
									}
									this.body.unmask();
								} else {
									this.body.unmask();
									Ext.Msg.alert('系统提示', "删除失败!请稍候重试...")
								}
							}
						},
						failure : function(response, options) {
							this.body.unmask();
							Ext.Msg.alert('系统提示', "删除失败!请稍候重试...")
						}
					});
		}
	}, this);
},

 

发现用了一个Ext.MessageBox.confirm()...

导致删除代码过长,格式化后的代码缩进看着也不太舒服,所以就改进为如下形式:

// 删除数据
DeleteData : function() {
	records = this.getSelectionModel().getSelections();
	if (records.length < 1) {
		Ext.MessageBox.alert("提示", "请先选择要删除的行!");
		return;
	}
	Ext.MessageBox.confirm('提示', '删除数据不可恢复!<br />您确定要删除所选数据吗?',
			this.do_delete, this);

},

do_delete : function(btn) {
	//debugger;
	if (btn == 'yes') {
		records = this.getSelectionModel().getSelections();
		var strSplit = "";
		var ids_v = "";
		for (var i = 0; i < records.length; i++) {
			strSplit = (ids_v.toString() == "") ? "" : ",";
			ids_v += (strSplit + records[i].get('id'));
		}
		Ext.Ajax.request({
					scope : this, // 限制范围到grid,this指向grid
					url : path_prefix + 'delete_data',
					params : {
						ids : ids_v
					},
					method : 'GET',
					success : function(response, option) {
						var rsp = Ext.decode(response.responseText)
						if ((rsp) && (rsp.success)) {
							for (var i = 0; i < records.length; i++) {
								this.store.remove(records[i]);
							}
						}
					},
					failure : function() {
						Ext.MessageBox.alert('消息', '删除数据失败!');
					}
				});
	}
}

 

 

 

 

 

分享到:
评论

相关推荐

    ExtJs数据删除和清空封装

    在ExtJs中删除数据行,通常涉及以下几个步骤: 1. **获取要删除的记录**:你可以通过用户界面的交互(如点击删除按钮)获取到要删除的记录。例如,如果你有一个Grid面板,可以使用`grid.getSelectionModel()....

    ssh+extjs4.0grid删除数据

    这里我们关注的是如何在SSH框架下,结合ExtJS 4.0版本的Grid组件实现数据的删除操作。 首先,让我们理解SSH框架。Spring提供了依赖注入和事务管理,Struts处理MVC(模型-视图-控制器)架构,而Hibernate则作为ORM...

    extjs最简单的数据绑定和修改

    6. 删除数据: 使用`store.remove(record)`可以删除Store中的某个记录,然后调用`store.sync()`进行同步。在这个主题的示例文件`FinishDelete`中,可能包含了如何完成删除操作的代码。 7. 数据加载与同步: Store...

    解析Extjs与php数据交互(增删查改)

    在Extjs中,数据通常是通过Store对象进行管理的。在初始化Store时,我们创建了一个HttpProxy实例,指定URL为`index.php`,这是与PHP服务器端进行交互的接口。然后,定义了JSONReader来解析返回的数据,设置了数据的...

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

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

    使用extjs4+servlet对extjs中grid数据进行填并实现增删改查等功能!

    创建一个Servlet来响应ExtJS的Ajax请求,获取、添加、更新或删除数据。 ```java @WebServlet("/DataServlet") public class DataServlet extends HttpServlet { protected void doGet(HttpServletRequest request,...

    EXTJS实例 EXTJS树,可以编辑的EXTJS,EXTJS3.0

    在EXTJS中,树形组件(Tree)是一种常见的数据展示形式,它能够以层级结构显示数据,广泛应用于目录浏览、组织架构展示等场景。EXTJS3.0是EXTJS的一个版本,虽然相对较旧,但仍然具有强大的功能和丰富的特性。 在...

    经验总结-Extjs(一)数据交互设计

    在数据交互设计中,我们将探讨如何使用ExtJS来有效地与服务器进行数据交换,包括加载、保存、更新和删除数据。 描述中提到的链接指向了一篇在iteye博客上的文章,虽然具体内容没有提供,但我们可以根据常见的ExtJS...

    extjs后台交互完整示例

    总的来说,这个示例将帮助我们理解如何使用ExtJS的Store、Model、Proxy和Controller等组件与后台服务器进行有效的数据交互,从而实现数据的加载、添加、编辑和删除等操作。通过学习这个示例,开发者可以掌握如何构建...

    Ext中grid多行数据全部删除

    本文将详细介绍如何在ExtJS中实现grid多行数据的全部删除功能。 #### 一、理解ExtJS中的Grid组件 在开始之前,我们需要先了解ExtJS中的Grid组件。Grid是ExtJS中最常用的组件之一,用于展示和编辑表格形式的数据。...

    介绍如何应用ExtJs进行前后台的数据交互

    在前后台数据交互中,ExtJs 起着至关重要的作用,它可以与服务器端进行异步通信,实现数据的获取、更新、删除等操作。本文将详细介绍如何使用ExtJs 进行前后台数据交互,并修复可能出现的问题。 首先,理解ExtJs的...

    Extjs和后台数据库交互的程序,增删改查

    在“Extjs和后台数据库交互的程序,增删改查”项目中,我们将探讨如何利用ExtJS与后台数据库进行数据的添加、删除、修改和查询操作。 1. **ExtJS的数据模型(Model)** 在ExtJS中,数据模型定义了对象的结构,包括...

    extjs4中文视频下载地址

    - **数据操作**:包括添加新记录、更新现有记录和删除记录等常见操作。 - **数据绑定**:Store 与 UI 组件之间的数据绑定机制。 #### 七、ExtJS 4.0 的事件机制——Event - **事件类型**:ExtJS 提供了大量的内置...

    ExtJs grid多选时获取选中的所有值

    在实际业务场景中,经常需要支持用户对表格中的多行数据进行选择,并执行批量操作,如删除、编辑等。因此,掌握如何在ExtJs Grid中实现多选功能以及如何获取已选中的所有值是非常重要的。 #### 二、实现多选功能 在...

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

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

    EXTJS4+STRUTS2+JAVA增删改查

    “删除”操作则根据EXTJS4传来的ID删除对应记录;“修改”是更新已存在的记录;“查询”通常通过发送过滤条件,获取数据库中的特定数据。 为了使EXTJS4和STRUTS2能够通信,需要配置STRUTS2的JSON插件,使得ACTION...

    ExtJS增删改查

    在"ExtJS增删改查"这个主题中,我们将深入探讨如何利用ExtJS进行CRUD(创建Create、读取Read、更新Update和删除Delete)操作,这是任何数据库驱动的应用程序中的基本功能。 首先,创建(Create)操作通常涉及创建新...

    Extjs4 tab 基本选项卡及增删插入操作

    ExtJS 4 是一款强大的JavaScript库,用于构建富客户端应用程序,尤其在创建数据驱动的用户界面方面表现出色。TabPanel是ExtJS中的一个重要组件,它允许用户在一个窗口中组织多个视图,每个视图对应一个选项卡。在这...

    extjs模拟excel表格

    ExtJS 提供了Store组件,可以绑定到各种数据源,如JSON、XML或Array。数据可以通过Ajax请求加载,也可以手动填充。 2. **列配置**:GridPanel的列可以通过配置项定义,包括列名、宽度、对齐方式、排序和过滤等。...

    ExtJs DataGridView控件实例

    1. **ExtJs Grid组件**:ExtJs 的Grid组件是一个高度可定制的数据视图,能够显示大量的数据并提供分页、排序、过滤、编辑等功能。它通常与Store组件一起使用,Store负责管理数据源,而Grid则负责显示和操作这些数据...

Global site tag (gtag.js) - Google Analytics