我的上一篇文章《Ext面向对象开发实践》中简述了如何编写一个面向对象的数据维护小程序,但这一些都是基于一个客户端数据,即用户一旦刷新页面,所有的操作都将丢失,现在我们就接着上一篇文章来继续讲一下如何对数据表进行增、删、改、查操作。
要实现对数据表中的数据进行操作,第一步就是要取得数据表中的数据,我们把上篇文章中的创建Store的方法也略作调整,让其从数据表中读取数据。
- this.departmentStore=newExt.data.JsonStore({
- proxy:newExt.data.HttpProxy({url:"http://localhost:8080/Test_EXT/DB/Department.php"}),
- fields:["department_code","department_name","manager","division_code"]
- });
Department.php,负责连接SQL数据库,取得数据并将其转换为JSON格式,为Ext的读取作准备。
- <?php
- require('JSON.php');
- require('uai_Personal_Info.php');
- $p=newuai_Personal_Info();
- $result=$p->getDepartmentList();
- $json=newServices_JSON();
- echo$json->encode($result);
还有一点要修改的就是新增和修改窗体的onSubmitClick方法
- onSubmitClick:function(){
- if(this.url!=""){
- this.form.submit({url:this.url,success:this.onSubmit,
- waitTitle:"SaveData",waitMsg:"Transcationprocess.....",scope:this});
- this.fireEvent("submit",this,this.form.getValues());
- }
- },
Submit方法需要传递一系列参数:
url:数据处理的URL地址,这里传入的是一个负责处理新增操作的URL
success:如果提交数据处理成功,则会回调这个参数指定的处理代码
waitTitle:数据提交时弹出对话框的标题
waitMsg:数据提交时弹出对话框的信息内容
scope:回调函数中的this所指对象
这里需要说明的是处理数据的PHP文件中,必须返回一个JSON字串,如果包含"success: true",则表示处理成或,否则认为处理失败。例如下面的代码
- <?php
- require('JSON.php');
- require('uai_Personal_Info.php');
- $rs=$_POST;
- $rs["success"]=true; //表示处理成功
- $sql="INSERTINTOuai_department(department_code,department_name,manager,division_code)VALUES('".
- $_POST["department_code"]."','".$_POST["department_name"]."','".$_POST["manager"]."','".$_POST["division_code"]."')";
- $p=newuai_Personal_Info();
- $rs["r"]=$p->insert_department($sql);
- $json=newServices_JSON();
- echo$json->encode($rs);
删除的处理则与新增、修改略有不同,因为删除不需要弹出窗体对数据进行操作,所以我们改用Ext.Ajax对象
- remove:function(){
- varr=this.getActiveRecord();
- Ext.Ajax.request({url:"http://localhost:8080/Test_EXT/DB/delete_dept.php",params:{department_code:r.get("department_code")}});
- this.getStore().remove(r); //删除客户端数据
- },
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关推荐
总结一下,这个示例展示了以下ExtJS面向对象开发的关键点: 1. **继承与扩展**:`PersonListGridPanel` 类继承自 `Ext.grid.GridPanel`,增加了自己的特性。 2. **组件组合**:使用了GridPanel、FormPanel和Window...
Ext是一个强大的JavaScript库,专为构建富客户端Ajax应用程序而设计。它以其面向对象的编程模型、丰富的用户界面组件和...对于有面向对象基础的开发者,Ext提供的面向对象编程模型将进一步增强他们开发Web应用的能力。
Ext JS Web开发技术详解》首先对Ext JS进行了概述,然后通过一个简单的示例带领读者快速入门,在读者对Ext JS有了初步印象后,又重点介绍了JavaScript的面向对象技术、Ext JS API文档的使用方法、Ext JS的开发流程,...
EXT JS采用了面向对象的编程模式,支持类的继承和重写。这允许开发者在不修改原始代码的情况下,扩展和定制现有组件的功能。 **十八、补充资料与概述** 除了上述内容,EXT JS还提供了丰富的文档和社区资源,包括...
Ext JS Web开发技术详解》首先对Ext JS进行了概述,然后通过一个简单的示例带领读者快速入门,在读者对Ext JS有了初步印象后,又重点介绍了JavaScript的面向对象技术、Ext JS API文档的使用方法、Ext JS的开发流程,...
Ext JS Web开发技术详解》首先对Ext JS进行了概述,然后通过一个简单的示例带领读者快速入门,在读者对Ext JS有了初步印象后,又重点介绍了JavaScript的面向对象技术、Ext JS API文档的使用方法、Ext JS的开发流程,...
Ext JS Web开发技术详解》首先对Ext JS进行了概述,然后通过一个简单的示例带领读者快速入门,在读者对Ext JS有了初步印象后,又重点介绍了JavaScript的面向对象技术、Ext JS API文档的使用方法、Ext JS的开发流程,...
EXT基于JavaScript,所以理解JavaScript语法和面向对象编程概念是非常必要的。开发者可能会学到如何创建EXT组件、布局管理、事件处理等。 总的来说,这个“ext/ajax开发资料”应包含EXT库的Ajax使用方法,以及可能...
通过学习和实践这些样本,开发者可以深入理解ExtJS的面向对象设计,提升代码的可维护性和可扩展性,同时也能更好地适应大型项目的需求。在实际开发中,合理地运用面向对象设计,可以提高代码的组织结构,降低代码...
2. **类系统**:EXT使用面向对象的编程方式,"ext-base.js"中包含了类的创建、继承和实例化等机制,使得开发者可以方便地创建自定义组件。 3. **事件系统**:EXT的事件模型是其交互性的重要组成部分,"ext-base.js...
JavaScript是EXT JS的基石,因此掌握JavaScript的基本语法和面向对象编程是使用EXT的前提。EXT JS 1.1虽然较为古老,但仍然包含了许多现代前端开发的理念,如MVC(Model-View-Controller)架构,这种架构模式有助于...
#### 二、面向对象的固态硬盘设计实践 **1. SSD面临的挑战** 传统的存储堆栈针对的是磁盘驱动器,而SSD则具有完全不同的内部结构和特性。例如,SSD的随机写入速度远低于顺序写入速度,并且存在写入放大、磨损均衡...
开发者应该熟悉JavaScript的面向对象特性、事件处理、DOM操作等,这样才能更好地利用EXT3.0构建动态、交互性强的Web应用。 综上所述,《ext3.0开发之-->葵花宝典》是一个全面的EXT3.0学习资源,无论你是初学者还是...
GWT的主要优势在于它的强类型、面向对象的编程模型,以及对Java开发工具的全面支持,如Eclipse IDE。 EXT GWT(GXT)是EXT JS的GWT版本,它扩展了GWT的功能,提供了大量的UI组件,如表格、树形视图、图表等,这些...
在JavaScript这种没有类的语言中,`Ext.extend()` 提供了面向对象编程的模拟。当我们想要自定义一个新类,并希望它继承自另一个已有类时,可以使用这个方法。以下是一个基本的使用示例: ```javascript Ext.extend...
在JavaScript世界中,Ext JS以其面向对象的架构和丰富的组件库著称。Ext5.0.7z可能包含以下关键组成部分: 1. **源代码**:压缩包中可能包含Ext JS 5.0的所有源代码文件,这些文件通常以.js格式存在,开发者可以...
Ext JS通过扩展JavaScript,提供了面向对象的编程方式,增强了其在构建复杂应用中的能力。 “web”标签表明,Ext JS主要用于Web应用的开发。它利用Ajax技术进行异步通信,实现页面的无刷新更新,极大地提升了用户...