`
laitaogood
  • 浏览: 107781 次
  • 性别: Icon_minigender_1
  • 来自: 豫章郡→紫禁城
社区版块
存档分类
最新评论

Ext中Form加载数据

阅读更多
关于在Ext的Form中加载数据的问题。
一般关于表格数据进行操作的时候,我们的一般操作是分为两种:
1、 选中所需修改的行,然后点击对应的操作按钮进行操作。
2、 双击所需修改的行,弹出一个修改的对话框,进行操作。
于是就出现了一个问题,我们该如何在弹出的Form里加载需要修改的那些数据呢?
解决方案:
以下是一个按钮,及其对应的操作。
{text:'修改2',
handler : function(){
        var item = body.getSelectionModel().getSelected();
        if(!item){
            	Ext.Msg.alert("Please Select The Row");
        }else{
            	myFormWin();
            	loadForm1.form.load({
                	url : 'updateGridAction.action?Name='+item.get('Name'),
                	waitMsg : '正在载入数据...',
                	success : function(form,action) {
                    	Ext.example.msg('编辑', '载入成功!');
                	},
                	failure : function(form,action) {
                    	Ext.example.msg('编辑', '载入失败');
                	}
            	});
            }
          }}


然后找到对应的myFormWin函数。
var loadForm1;
var myFormWin = function() {
if (!loadWindow) {
        loadForm1 = new Ext.FormPanel( {
        // collapsible : true,// 是否可以展开
        //url : 'updateGrid.action',
        //frame : true,
        //title : '修改',
        bodyStyle : 'padding:5px 5px 0',
        width : 350,
        waitMsgTarget : true,
        //这个属性决定了load和submit中对数据的处理,list必须是一个集合类型,json格式应该是[]包含的一个数组
        //reader: new Ext.data.JsonReader({root:'list'},
        reader: new Ext.data.JsonReader({root:'rows'},
[{name: 'Name',mapping:'Name',type:'string'},
                         {name: 'Sex',mapping:'Sex',type:'boolean'},
                         {name: 'Phone',mapping:'Phone',type:'string'},
                         {name: 'Email',mapping:'Email',type:'string'}
                        ]),
        defaults : {
            width : 230
        },
        baseCls: 'x-plain',
        labelWidth: 55,
        defaultType: 'textfield',
        items: [{
            		fieldLabel: 'Name',
            		name: 'Name',
            		anchor:'100%'  
        		},{
            		fieldLabel: 'Sex',
            		name: 'Sex',
            		anchor: '100%'  
        		},{
            		fieldLabel: 'Phone',
            		name: 'Phone',
            		anchor: '100%'  
        		},{
            		fieldLabel: 'Email',
            		name: 'Email',
            		anchor: '100%'  
        	}]
/**
        buttons : [ {
            text : '保存',
            disabled : false,
            handler : function() {
                if (loadForm1.form.isValid()) {
                    loadForm1.form.submit( {
                        url : 'AddLevel.action',
                        success : function(from, action) {
                            Ext.example.msg('保存成功', '添加级别成功!');
                            ds.load( {
                                params : {
                                    start : 0,
                                    limit : 30,
                                    forumId : 4
                                }
                            });
                        },
                        failure : function(form, action) {
                            Ext.example.msg('保存失败', '添加级别失败!');
                        },
                        waitMsg : '正在保存数据,稍后...'
                    });
                    dialog.hide();
                } else {
                    Ext.Msg.alert('信息', '请填写完成再提交!');
                }
            }
        }, {
            text : '取消',
            handler : function() {
                newFormWin.hide();
            }
        }]*/
    });
            var loadWindow = new Ext.Window({
        		iconCls:'btn-save',
        		title: '修改用户',
        		width: 500,
        		height:300,
        		minWidth: 300,
        		minHeight: 200,
        		layout: 'fit',
        		plain:true,
       		bodyStyle:'padding:5px;',
        		buttonAlign:'center',
        		items: loadForm1,
        		buttons: [{	text: '确定'
        			},{	text: '取消'}]
    		});
    		loadWindow.show();
        }
    };


原理是这样的:
当选中一行的时候,再点击修改按钮,这个时候就执行了一些操作,首先是获取被选中行的value,然后是调用函数去创建加载数据的Form,这个Form又通过我们提供的URL去加载JSON格式的数据,这里可以从XML文件中读取或者是从数据库中读取。可以使用JSON的jar包,使得把对象转换成JSON格式的数据更加方便。保存成功后,重新加载一次dataStore。
  • 大小: 27.2 KB
分享到:
评论

相关推荐

    EXT dojochina文本框示例Ext.form.TextField.rar

    2. **配置项**:`Ext.form.TextField`支持多种配置项来定制其行为和外观,如`fieldLabel`(字段标签)、`name`(字段名,用于数据绑定)、`width`(宽度)、`maxLength`(最大字符数)等。 3. **验证**:EXT提供了...

    Ext 添加功能form表单实例

    根据给定的信息,本文将详细解释“Ext 添加功能form表单实例”的知识点,这主要针对Ext初学者。本文会从创建表单、字段定义、验证规则以及提交逻辑等方面进行深入探讨。 ### Ext 添加功能form表单实例 #### 表单...

    Ext 动态加载表单数据

    在Ext JS这个强大的JavaScript框架中,动态加载表单数据是一种常见的功能需求,特别是在构建数据驱动的应用程序时。本文将深入探讨如何使用JSON格式的数据来实现这一功能,以便于灵活地更新和显示表单内容。 首先,...

    Ext2.0 form使用实例的例程

    在这个“Ext2.0 form使用实例的例程”中,我们将深入探讨Ext 2.0的表单(form)组件及其应用。 表单在任何应用程序中都扮演着至关重要的角色,用于收集和验证用户输入的数据。Ext 2.0的表单组件提供了一整套完整的...

    ext 2.0 form demo

    在这个"EXT 2.0 form demo"中,我们将深入探讨EXT在构建动态、交互式表单方面的强大功能。 一、EXT 2.0的核心特性 1. 组件化:EXT 2.0的核心是组件模型,允许开发者将UI元素(如按钮、表格、表单)视为独立的可...

    Ext form_load

    在Ext JS中,`Ext.form_load`涉及到的主要知识点是FormPanel的数据加载机制,这包括了对FormPanel的form对象、BasicForm、doAction方法、Ext.form.Action对象以及JsonReader的使用。以下是对这些概念的详细解释: 1...

    深入浅出Ext_JS:数据存储与传输

    数据存储具有加载、刷新、添加、删除和更新数据的能力,并且能够监听数据变化,实时同步UI。此外,Store与Grid、Tree等组件紧密配合,实现数据的展示和交互。 在数据传输过程中,Ext JS提供了Ajax请求(Ext.Ajax)...

    EXT中文手册 Grid Form

    - Grid组件是EXT中用于展示表格数据的重要组件,支持数据的排序、筛选等功能。 - **XTemplate** - XTemplate是EXT中用于数据渲染的一种模板引擎,可以将数据动态地插入到HTML中。 - **DataView** - DataView组件...

    ext form小例子

    在“EXT form小例子”中,我们将探讨EXTJS Form组件的基础用法,包括客户端验证和对`Ext.form.Vtype`的扩展。 1. EXTJS Form组件基础: - 表单创建:EXTJS中的表单通常通过`Ext.create`方法创建,如`Ext.create('...

    ext控件form相关配置

    本文将深入探讨Ext JS中的`Form`控件及其相关配置,帮助开发者更好地理解和掌握如何高效地使用这些控件。 #### 二、Ext JS Form控件概述 Ext JS的`Form`控件提供了一套丰富的API用于创建、管理和验证Web表单。该...

    EXT制作的FORM,可以与Servlet进行交互

    在"EXT制作的FORM,可以与Servlet进行交互"这一主题中,我们要讨论的是如何利用EXT form来与服务器端的Servlet进行数据交换。Servlet是一种Java技术,用于扩展Web服务器的功能,处理HTTP请求并返回响应。在EXT form...

    ext_表单提交_数据校验

    在Ext JS框架中,`Ext.form.TextField`是一种用于收集用户输入的基本控件,它提供了丰富的配置选项来实现数据校验。例如,在示例中,通过设置`allowBlank: false`,确保了字段不允许为空;`emptyText`定义了当字段为...

    Ext.Store的获取方法

    在Ext.js中,`Ext.Store`是用来管理数据的类,它通常与各种UI组件(如Grid、ComboBox等)关联,用于存储和检索数据。然而,获取`Ext.Store`的方式并不像获取其他Ext组件那样直接,因为Store并不是一个具有可视界面的...

    Ext DateField控件 - 只选择年月插件

    在实际开发中,你可以根据需要进一步自定义插件的行为,例如改变年份和月份的显示方式,添加验证规则,或者与服务器端进行数据同步。同时,为了保证兼容性和性能,确保使用的是与你项目中其他Ext JS库版本相匹配的...

    ext实例 左边是 tree 右边是grid 双击grid弹出form修改

    在ExtJS中,表单组件由`Ext.form.Panel`创建,它可以包含各种表单字段,如文本框、选择框、日期选择器等,用于数据输入。表单数据与后端服务的交互通常通过`Ext.form.action.Submit`或`Ext.form.action.Load`进行。 ...

    Ext 异步加载添加 删除节点 修改combobox选择项

    在Ext JS中,异步加载是一种常见的数据处理方式,尤其在构建动态的用户界面时非常有用。本篇文章主要探讨了如何在异步加载的场景下,实现树形控件(TreePanel)中节点的动态添加、删除以及ComboBox选择项的修改。 ...

    EXT2_combobox_form.rar_combobox ext_ext

    在EXT2中,Form表单是数据输入和用户交互的核心部分。它们允许用户填写和提交信息,通常用于创建动态和复杂的Web表单。EXT2的form表单支持各种字段类型,如文本框、复选框、单选按钮以及我们在此处重点关注的...

    EXT动态新增一行

    在EXT中,"动态新增一行"是指在表格或者布局中,通过用户操作(比如点击按钮)来动态地添加新的行元素,这些元素可以是文本框、下拉框等交互组件。 EXT中的Column Layout是一种布局方式,适用于创建网格或表格形式...

    ext多选下拉列表的全选功能实现

    "ext多选下拉列表的全选功能实现"这个主题聚焦于一个特定的UI组件——ExtJS库中的MultiComboBox,这是一种允许用户多选的下拉列表控件。在实际应用中,全选功能常常被用来快速选择所有选项,极大地提高了用户的操作...

    Ext Column+Form布局画复杂页面

    3. 在左侧列中添加一个Grid Panel(数据列表),使用Store加载和展示数据。 4. 在右侧列中使用Form Panel来创建表单。Form Panel可以包含多个FieldSet,每个FieldSet代表表单的一个部分。 5. 配置Form Panel的layout...

Global site tag (gtag.js) - Google Analytics