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简介 EXT是一款强大的JavaScript框架,主要用于开发Web应用程序的前端界面。它提供了丰富的用户界面组件、数据管理功能以及与服务器端进行交互的能力。本手册旨在帮助开发者...
- **更多组件**:除了MessageBox和Grid外,EXT还提供了大量的其他组件,如Form、Tree、TabPanel等,满足不同场景的需求。 - **使用方法**:通过实例演示如何在项目中引入并使用这些组件,提高开发效率。 #### 8. ...
- **网格(Grid)和表格(Form)增强**:EXT 4.x对网格和表格进行了大量优化,提供了更强大的数据展示和编辑功能。 - **高级图表(Charts)**:EXT 4.x引入了新的图表库,支持多种复杂的数据可视化效果。 3. **...
例如,`Ext.grid.Panel`用于创建数据网格,`Ext.window.Window`用于弹出窗口,`Ext.form.Basic`则用于构建表单。这些组件都是可定制的,可以通过设置各种配置项来改变它们的行为和外观。 在JavaScript IDE Komodo ...
本文将详细介绍如何使用Ext的Grid、Form和Dialog组件来实现分页列表、创建、修改和删除功能。 1. **Ext Grid组件**:Grid是Ext的核心组件之一,用于展示数据列表。它可以轻松地实现数据的分页、排序、过滤等功能。...
EXT的组件系统是其核心特性之一,包括各种UI组件如Grid、Form、Window等。通过配置对象,你可以定制组件的外观和行为,然后将它们添加到布局中,创建出复杂的应用界面。 使用Ajax: EXT内置了Ajax功能,方便进行...
- 解释作用域在JavaScript中的重要性,以及如何在EXT中正确使用作用域。 #### 6.2 类设计与对象创建 - 讨论EXT中的类设计模式,包括构造函数、原型继承、方法共享等,帮助构建可复用的组件。 ### 组件与布局 #### ...
3. **行编辑**:EXT GRID支持行内编辑,用户可以直接在表格中修改数据,这需要结合EditorGridPanel和Form Field组件来实现。 4. **排序和过滤**:GRID可以实现列点击排序,通过配置`sortable`属性和`sortInfo`对象...
它包括但不限于表格(Grid)、面板(Panel)、窗口(Window)、菜单(Menu)、按钮(Button)、表单(Form)、树形视图(Tree)、图表(Charts)等,这些组件设计精美且易于定制,能够满足各种界面设计需求,为用户...
本实例“ext实例 左边是 tree 右边是grid 双击grid弹出form修改”是针对初学者的一个宝贵资源,它演示了如何将这些组件结合起来,实现交互式的数据操作。 1. **树形控件(Tree)**:在左边展示数据结构,通常用于...
2. **环境准备**:确保本地开发环境中已安装 Node.js 和 npm,因为 ExtJs 6.2.0 推荐使用命令行工具进行项目管理和构建。 3. **初始化项目**:通过命令行创建一个新的 ExtJs 项目,或者将现有项目升级到 6.2.0 版本...
在Ext JS这个强大的JavaScript框架中,`Grid`是用于展示数据的一种常见组件,它提供了灵活的数据展示和操作功能。在实际开发中,我们有时需要在Grid的单元格(Cell)中添加更丰富的交互元素,例如输入框、下拉选择器...
3. **Grid**:EXT Grid是其标志性的组件之一,用于展示和操作表格数据。它支持排序、分页、行选择、列编辑等功能,是数据密集型应用的理想选择。熟悉EXT Grid的API和配置项能让你更有效地管理数据展示。 4. **Util*...
这个压缩包很可能包含了如何在ASP.NET环境中使用ExtJS 2.0.2的示例代码。 在描述中,同样只提到了"ext-2.0.2-aspx-only-aspx-examples",这意味着压缩包的内容可能非常具体,即一系列针对ASP.NET开发者如何利用...
EXT提供了一套完整的组件模型,包括窗口(Window)、面板(Panel)、表格(Grid)、表单(Form)等,使得开发者能够构建出功能丰富、交互性强的Web应用。随着对EXT的深入学习,开发者将掌握更多的高级特性,如布局...
在这个3.2版本中,开发者可以找到一系列预定义的UI组件,如表格(Grid)、树形视图(Tree)、表单(Forms)、菜单(Menus)、工具栏(Toolbars)等,这些组件大大简化了创建复杂Web应用的过程。 组件化是ExtJS的一...
总结来说,"extgrid导出excel"涉及到使用ExtJS的Grid组件,结合Exporter插件或其他工具,将Grid中的数据转换为Excel格式供用户下载。这是一项实用的功能,可以帮助用户方便地处理和分析在Web应用中展示的大量数据。...
通过阅读和理解这份Ext 2.3中文文档-API,开发者不仅可以深入理解EXT的底层机制,还能掌握EXT的高级功能,从而在实际项目中游刃有余地使用EXT构建高质量的Web应用。这份文档对于初学者和经验丰富的开发者都是宝贵的...
这个例子在.NET环境中展示了如何有效地使用ExtGrid,包括显示数据、增删改查(CRUD)操作以及分页功能。下面将详细介绍这些知识点。 1. **Ext JS**:Ext JS是一个用于构建富客户端Web应用的JavaScript框架,它提供...
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:'...