Ext.onReady(function(){
Ext.QuickTips.init();
var inputForm = Ext.create('Ext.form.Panel',{
bodyPadding: 5,
width : 490,
flex : 2,
fieldDefaults:{//统一设置表单字段默认属性
labelSeparator :':',//分隔符
labelWidth : 60,//标签宽度
width : 150,//字段宽度
msgTarget : 'side',
allowBlank : false,
labelAlign : 'right'
},
layout: {//设置容器字段布局
type: 'hbox',
align: 'middle'//垂直居中
},
defaultType: 'textfield',//设置表单字段的默认类型
items:[{
fieldLabel:'产品名称',
name : 'productName'
},{
fieldLabel:'数量',
xtype : 'numberfield',
name : 'productNum'
},{
fieldLabel:'金额',
xtype : 'numberfield',
name : 'productPrice'
}],
fbar : [{
text : '添加',
handler : function(){
if(inputForm.getForm().isValid()){
var data = inputForm.getForm().getValues();
var product = Ext.ModelMgr.create(data, 'ProductInfo');
productStore.add(product);
inputForm.getForm().reset();
}
}
}]
});
//创建数据模型
Ext.regModel('ProductInfo', {
fields: ['productName','productNum','productPrice']
});
//创建产品数据源
var productStore = Ext.create('Ext.data.Store',{
autoLoad : true,
data : [],
model : 'ProductInfo',
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'datas'
}
}
});
//定义模板
var productTpl = new Ext.XTemplate(
'<table border=1 cellspacing=0 cellpadding=0 width=100%>',
'<tr><td width=160>产品名称</td><td width=75>数量</td><td width=75>金额</td></tr>',
'<tpl for=".">',
'<tr><td>{productName}</td><td>{productNum}</td><td>{productPrice}</td></tr>',
'</tpl>',
'</table>'
);
var productView=Ext.create('Ext.view.View',{
store:productStore,
tpl:productTpl,
deferEmptyText:false,
itemSelector:'',
emptyText:'请录入商品'
});
var productViewPanel=Ext.create('Ext.panel.Panel',{
autoScroll:true,
width:500,
layout:'fit',
flex:3,
bodyStyle:'background-color:#FFFFFF',
items:productView
});
var panel=Ext.create('Ext.panel.Panel',{
renderTo:Ext.getBody(),
fream:true,
width:500,
height:300,
layout:'vbox',
title:'产品新增',
items:[inputForm,productViewPanel]
});
});
XTemplate 和 Ext.view.View 的综合使用。
- 大小: 9.3 KB
分享到:
相关推荐
5. **ViewModel(视图模型)**:虽然在ExtJS 4中不是必需的,但ViewModel是推荐的最佳实践,特别是在数据绑定变得复杂的场景下。ViewModel提供了一种方式来链接模型数据和视图组件,使得数据可以直接在视图中呈现,...
3. **数据绑定**:EXTJS4支持双向数据绑定,使得视图与模型之间的数据同步变得简单,大大减少了手动更新视图的工作。 4. **高级表格和网格**:EXTJS4的GridPanel组件提供强大的数据展示和操作功能,支持分页、排序...
在ExtJS4中,MVC帮助我们分离业务逻辑、视图和控制器,使得代码更易于维护和扩展。在这个例子中,Model定义了数据模型,View负责呈现数据,而Controller作为中间人,处理用户交互和数据更新。 2. **Grid组件**: ...
在ExtJS 4中,模型负责数据管理,视图负责用户界面展示,而控制器则作为两者之间的桥梁,处理用户的交互并协调数据流动。 在货物处理的CRUD操作中: 1. **创建(Create)**:当用户输入新货物信息时,这些信息会被...
ExtJS 4是一个强大的JavaScript库,用于构建交互式的、数据驱动的Web应用程序。MVC(Model-View-Controller)架构模式是ExtJS 4中一个核心的设计原则,它有助于实现应用的模块化和可维护性。这个“Extjs4 MVC小实例...
在ExtJS4中,控制器通过Ext.app.Controller类创建,可以定义事件监听器和操作(Action),控制视图和模型的交互。 在提供的实例中,你可能会看到以下关键部分: - **app.js**:这是应用的主入口文件,通常包含了...
在ExtJS4中,模型负责数据的存储和管理,视图负责界面展示,而控制器则充当两者之间的协调者,处理用户交互并更新模型或视图。 - 模型(Model):在ExtJS4中,模型用于定义数据字段和行为,与后端服务进行数据交换...
- 接着,构建视图(View),例如使用 Grid Panel 显示数据,并通过 Store 绑定数据。 ``` Ext.create('Ext.grid.Panel', { store: UserService, columns: [{text: 'Name', dataIndex: 'name'}, {text: 'Email',...
4. **ViewModel(视图模型)**:虽然不是传统的MVC组成部分,但ExtJS 4引入了ViewModel的概念,它是模型和视图之间数据绑定的媒介。ViewModel允许在不直接修改视图或模型的情况下传递数据,简化了数据驱动的视图更新...
TreeStore是ExtJS中的一个数据存储类,它负责加载和管理树形数据。你需要定义数据模型(Model),包含节点的属性,以及数据源(store configuration),这可以是JSON对象数组或者其他格式的数据。例如: ```...
在ExtJS4中,视图通常由组件(如表格、窗口、面板等)构成,通过绑定到模型,动态显示和更新数据。`Ext.container`系列类提供了各种容器,`Ext.Component`是所有组件的基类。 3. **控制器(Controller)**:控制器...
这个项目展示了如何在后台使用SSH框架来处理业务逻辑和数据存储,而在前端使用ExtJS 4创建交互式的用户界面。 **ExtJS 4** ExtJS 4 是 Sencha 公司提供的一个用于构建Web应用的JavaScript库。它提供了大量的组件和...
MVC模式在ExtJS4中被广泛使用,将应用程序分为三个主要部分:模型(Model)处理数据和业务逻辑,视图(View)负责用户界面,控制器(Controller)协调模型和视图之间的交互。这种结构使得代码更易于维护和扩展,同时...
- 在这个案例中,ExtJS4可能被用来创建用户界面,如表格展示数据、表单输入数据,以及实现按钮的点击事件处理,与后台进行Ajax通信,实现无刷新的数据交互。 - 使用ExtJS4的Model、Store和Proxy概念,可以轻松地与...
Extjs4文件夹用于存放Extjs4框架的库文件,而Server文件夹则包含服务器端用来获取数据的ASP文件。 建立完基础环境之后,下一步便是搭建框架。Extjs4开发笔记(二)中说明了页面的各个部分被分离成头部、菜单、内容...
3. **数据绑定**:ExtJS 4引入了MVVM(Model-View-ViewModel)模式,通过数据绑定,视图与模型之间的数据更新可以自动同步,降低了代码复杂性。 4. **Store与Model**:Store负责管理数据,可以连接到各种数据源,如...
1. **UI组件**:ExtJs4提供了丰富的组件库,如表格(Grid)、表单(Form)、树形视图(Tree)等,这些在进销存系统中用于展示和编辑数据。 2. **数据绑定**:ExtJs4支持双向数据绑定,可以自动同步UI和后端数据,...
ExtJS4的Store组件可以方便地处理这种数据加载和提交,它与Model类一起,定义了数据字段和行为,使数据操作更加规范和易于管理。 在"Ext4_SMS"这个压缩包中,可能包含了以下文件和目录: 1. `app.js`: 应用主入口...
在ExtJS中,`Ext.data.Model`类用于定义模型,包含字段定义和数据验证规则。 2. **View(视图)**:显示用户界面,直接与用户交互。ExtJS中的视图可以是任何组件,如表格、窗口、面板等,它们通过`Ext.container....