`
wly719
  • 浏览: 290835 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

ext 中grid-form的使用

阅读更多
form与grid的联动实现:

1:首先要保证form中各组件的name值与Ext.data.Record.create({name:''})中name值相同,个数不一定要完全相同,只需form中的name在grid有对应的。
2:在点击事件或你要触发的事件中执行myform.getForm().loadRecor(rec);loadRecord()方法作用是将grid中指定record的值放到form中。
3:也可以将form中的修改传到grid中,可以通过form.updateRecord(store.getAt(index))实现。

有时会用到延时的方法,用法;
function(){Ext.getCmp("formpanel").getForm().loadRecord(rec)}).defer(200);

下面是本例子,仅限参考

var picPanel=new Ext.Panel({
columnWidth:.3,
border:false,
baseCls:'formpic',
height:180
});
var store;
var win;
var formPanel=new Ext.Panel({
columnWidth:.65,
border:false,
height:180,
items:myForm
});
var myForm= new Ext.form.FormPanel({
columnWidth:.70,
id:'formpanel',
width:210,
border:false,
bodyBorder:false,
height:180,
waitMsgTarget:true,
frame:true,
labelWidth:50,
labelAlign:"right",
ether_index:0,
items:[
  {
      xtype:'textfield',
      fieldLabel:'网口名',
      allowBlank:false,
      blankText:'该项不能为空',      
      name:'field1',    
      id:'field1',  
      width:180
    },
    {  
     xtype:'textfield',
     fieldLabel:'IP',
              blankText:'该项不能为空',
              allowBlank:false,
              width:180,
              hiddenName:'ip',
              id:'field2',
           name:'field2'
            },
    {
      xtype:'textfield',
      fieldLabel:'MASK', 
      allowBlank:false,
      blankText:'该项不能为空',
      name:'field3',
      id:'field3',  
      width:180
    },
           {
      xtype:'textfield',
      fieldLabel:'VIP', 
      allowBlank:false,
      blankText:'该项不能为空',
      name:'field4',
      id:'field4',  
      width:180
    }
   
],
buttons:[
{
text:'确定',
handler:function(){
myForm.getForm().submit({
url:'json/success.json',
method:'post',
waitMsg:"提交中",
params: {
ether_index:myForm.ether_index
},
failure:function(form,action){
if         (action.failureType==Ext.form.Action.CONNECT_FAILURE){
RS.failueDeal();
}
},
   success:function(form,action){
   form.updateRecord(store.getAt(myForm.ether_index));
   win.hide();
}
})

}

},
{
text:'重置',
handler:function(){
myForm.getForm().reset();
}

}
]
})

Ext.onReady(function(){
    Ext.QuickTips.init();
    Ext.form.Field.prototype.msgTarget = 'side';
    Ext.BLANK_IMAGE_URL = '../lib/ext/resources/images/default/s.gif';
var cm = new Ext.grid.ColumnModel(
[{
         width:80,
        sortable:false,
        hideable:false,
        dataIndex:"field1"
    },
     {
header: "网口名",
width:100,
sortable: true,
dataIndex:"field2"
},
{
header: "IP",
width:100,
sortable: true,
dataIndex:"field3"
},{
header: "MASK",
width:100,
sortable: true,
dataIndex:"field4"
},
{
header: "VIP",
width:100,
sortable: true,
dataIndex:"field5"
}
    ]
);
var storeType= Ext.data.Record.create([
{name: 'field1'},
{name: 'field2'},
                  {name: 'field3'},
{name: 'field4'},
                  {name: 'field5'}
]);
   
store = new Ext.data.Store({
url:'../reflectTest.xml',
autoLoad:true,
reader:new Ext.data.XmlReader({
totalRecords:"total",
record:"row"
},storeType
        )
});
    var bgrid = new Ext.grid.GridPanel({
        renderTo:'info_t2',
cm:cm,
        width:500,
        height:152,
ds:store
    });
    /**
* 绑定给el对象的方法
*/
var ether_conf = function(index){
     win=new Ext.Window({
        title:'网卡(<font color="red">eth'+index+'</font>)配置',
        modal:true,
        width:400,
        autoHeight:true,
        animateTarget: this,
        closeAction:'hide',
        closable:true,
        layout:'column',
        resizable:false,
        buttons:[],
        items:[
            picPanel,myForm
        ]
    })
    myForm.ether_index = index;//改变了表单的参数
     win.show();
    var rec = store.getAt(index);
    if(rec!=null){
Ext.getCmp("formpanel").getForm().loadRecord(rec)
}
  
}
     var cards = Ext.select("ul#ether_cards li a",true);//关键
    cards.each(function(el,ct,index){
        el.addClassOnOver("ether-hover");
        el.on({
            click: ether_conf.createDelegate(el,[index])
        })
    });//each end
   
   
})
分享到:
评论

相关推荐

    EXT中文手册 Grid Form

    ### EXT中文手册 Grid Form #### EXT简介 EXT是一款强大的JavaScript框架,主要用于开发Web应用程序的前端界面。它提供了丰富的用户界面组件、数据管理功能以及与服务器端进行交互的能力。本手册旨在帮助开发者...

    EXT-js-中文手册

    - **更多组件**:除了MessageBox和Grid外,EXT还提供了大量的其他组件,如Form、Tree、TabPanel等,满足不同场景的需求。 - **使用方法**:通过实例演示如何在项目中引入并使用这些组件,提高开发效率。 #### 8. ...

    ext-cn-js-beta

    - **网格(Grid)和表格(Form)增强**:EXT 4.x对网格和表格进行了大量优化,提供了更强大的数据展示和编辑功能。 - **高级图表(Charts)**:EXT 4.x引入了新的图表库,支持多种复杂的数据可视化效果。 3. **...

    ext_v1-1.zip

    例如,`Ext.grid.Panel`用于创建数据网格,`Ext.window.Window`用于弹出窗口,`Ext.form.Basic`则用于构建表单。这些组件都是可定制的,可以通过设置各种配置项来改变它们的行为和外观。 在JavaScript IDE Komodo ...

    使用Ext的Grid,Form,Dialog来实现分页列表,创建,修改,删除功能

    本文将详细介绍如何使用Ext的Grid、Form和Dialog组件来实现分页列表、创建、修改和删除功能。 1. **Ext Grid组件**:Grid是Ext的核心组件之一,用于展示数据列表。它可以轻松地实现数据的分页、排序、过滤等功能。...

    EXT中文教程--经典学习资料

    EXT的组件系统是其核心特性之一,包括各种UI组件如Grid、Form、Window等。通过配置对象,你可以定制组件的外观和行为,然后将它们添加到布局中,创建出复杂的应用界面。 使用Ajax: EXT内置了Ajax功能,方便进行...

    EXT-In-FirstStep

    - 解释作用域在JavaScript中的重要性,以及如何在EXT中正确使用作用域。 #### 6.2 类设计与对象创建 - 讨论EXT中的类设计模式,包括构造函数、原型继承、方法共享等,帮助构建可复用的组件。 ### 组件与布局 #### ...

    EXT2.0 GRID 示例

    3. **行编辑**:EXT GRID支持行内编辑,用户可以直接在表格中修改数据,这需要结合EditorGridPanel和Form Field组件来实现。 4. **排序和过滤**:GRID可以实现列点击排序,通过配置`sortable`属性和`sortInfo`对象...

    前端组件ext-4.2.1-gpl.zip

    它包括但不限于表格(Grid)、面板(Panel)、窗口(Window)、菜单(Menu)、按钮(Button)、表单(Form)、树形视图(Tree)、图表(Charts)等,这些组件设计精美且易于定制,能够满足各种界面设计需求,为用户...

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

    本实例“ext实例 左边是 tree 右边是grid 双击grid弹出form修改”是针对初学者的一个宝贵资源,它演示了如何将这些组件结合起来,实现交互式的数据操作。 1. **树形控件(Tree)**:在左边展示数据结构,通常用于...

    ext-6.2.0-gpl

    2. **环境准备**:确保本地开发环境中已安装 Node.js 和 npm,因为 ExtJs 6.2.0 推荐使用命令行工具进行项目管理和构建。 3. **初始化项目**:通过命令行创建一个新的 ExtJs 项目,或者将现有项目升级到 6.2.0 版本...

    Ext自定义Grid Cell插件

    在Ext JS这个强大的JavaScript框架中,`Grid`是用于展示数据的一种常见组件,它提供了灵活的数据展示和操作功能。在实际开发中,我们有时需要在Grid的单元格(Cell)中添加更丰富的交互元素,例如输入框、下拉选择器...

    EXT - 2011-5-30

    3. **Grid**:EXT Grid是其标志性的组件之一,用于展示和操作表格数据。它支持排序、分页、行选择、列编辑等功能,是数据密集型应用的理想选择。熟悉EXT Grid的API和配置项能让你更有效地管理数据展示。 4. **Util*...

    ext-2.0.2-aspx-only-aspx-examples

    这个压缩包很可能包含了如何在ASP.NET环境中使用ExtJS 2.0.2的示例代码。 在描述中,同样只提到了"ext-2.0.2-aspx-only-aspx-examples",这意味着压缩包的内容可能非常具体,即一系列针对ASP.NET开发者如何利用...

    Ext学习文档--转载整理

    EXT提供了一套完整的组件模型,包括窗口(Window)、面板(Panel)、表格(Grid)、表单(Form)等,使得开发者能够构建出功能丰富、交互性强的Web应用。随着对EXT的深入学习,开发者将掌握更多的高级特性,如布局...

    ext-3.2-beta_6256-157.zip

    在这个3.2版本中,开发者可以找到一系列预定义的UI组件,如表格(Grid)、树形视图(Tree)、表单(Forms)、菜单(Menus)、工具栏(Toolbars)等,这些组件大大简化了创建复杂Web应用的过程。 组件化是ExtJS的一...

    extgrid导出excel

    总结来说,"extgrid导出excel"涉及到使用ExtJS的Grid组件,结合Exporter插件或其他工具,将Grid中的数据转换为Excel格式供用户下载。这是一项实用的功能,可以帮助用户方便地处理和分析在Web应用中展示的大量数据。...

    Ext 2.3中文文档-API

    通过阅读和理解这份Ext 2.3中文文档-API,开发者不仅可以深入理解EXT的底层机制,还能掌握EXT的高级功能,从而在实际项目中游刃有余地使用EXT构建高质量的Web应用。这份文档对于初学者和经验丰富的开发者都是宝贵的...

    ExtGrid使用

    这个例子在.NET环境中展示了如何有效地使用ExtGrid,包括显示数据、增删改查(CRUD)操作以及分页功能。下面将详细介绍这些知识点。 1. **Ext JS**:Ext JS是一个用于构建富客户端Web应用的JavaScript框架,它提供...

    Ext grid To Excel

    fd=Ext.DomHelper.append(Ext.getBody(),{tag:'form',method:'post',id:'frmDummy',action:'exportexcel.jsp', target:'_blank',name:'frmDummy',cls:'x-hidden',cn:[ {tag:'input',name:'exportContent',id:'...

Global site tag (gtag.js) - Google Analytics