博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ExtJs之Ext.view.View
阅读量:6199 次
发布时间:2019-06-21

本文共 3148 字,大约阅读时间需要 10 分钟。

要注意MODEL的定义和实例化的代码,注释掉的是老式的不兼容4.0以上的。而下面的定义才是新推荐的。

我网上可是查的了。是书上的代码老了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!
DOCTYPE
html>
<
html
>
<
head
>
    
<
title
>ExtJs</
title
>
        
<
meta
http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    
<
link
rel="stylesheet" type="text/css" href="ExtJs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css">
        
<
script
type="text/javascript" src="ExtJs/ext-all.js"></
script
>
        
<
script
type="text/javascript" src="ExtJs/bootstrap.js"></
script
>
        
<
script
type="text/javascript" src="ExtJs/packages/ext-theme-crisp/build/ext-theme-crisp.js"></
script
>
 
    
<
script
type="text/javascript">
            
Ext.onReady(function(){
        
Ext.QuickTips.init();
        
var inputForm = Ext.create('Ext.form.Panel', {
          
bodyPadding: 5,
          
width: 600,
          
flex: 1,
          
fieldDefaults: {
            
labelSeparator: ': ',
            
labelWidth: 80,
            
width: 180,
            
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');
                
var product = Ext.create('ProductInfo', data);
                
productStore.add(product);
                
inputForm.getForm().reset();
              
}
            
}
          
}]
        
});
 
        
//Ext.regModel('ProductInfo', {
        
//  fields: ['productName', 'productNum', 'productPrice']
        
//});
 
        
Ext.define('ProductInfo', {
            
extend: 'Ext.data.Model',
            
fields: [
              
{name: 'productName'},
              
{name: 'productNum'},
              
{name: 'productPrice'}
            
]
        
});
 
        
var productStore = Ext.create('Ext.data.Store', {
          
autoLoad: true,
          
data: [],
          
model: 'ProductInfo',
          
proxy: {
            
type: 'memory',
            
reader: {
              
type: 'json',
              
rootProperty: 'datas'
            
}
          
}
        
});
 
        
var productTpl = new Ext.XTemplate(
          
'<
table
border=1 cellspacing=1 cellpadding=1 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: 'div.thumb-wrap',
          
emptyText: '请录入商品'
        
});
 
        
var productViewPanel = Ext.create('Ext.panel.Panel', {
          
autoScroll: true,
          
width: 600,
          
flex: 3,
          
layout: 'fit',
          
bodyStyle: 'background-color: #FE5623',
          
items: productView
        
});
        
Ext.create('Ext.panel.Panel', {
          
renderTo: document.body,
          
frame: true,
          
width: 800,
          
height:500,
          
layout: 'vbox',
          
title: '产品录入',
          
items: [inputForm, productViewPanel]
        
});
      
});
    
</
script
>
</
head
>
<
body
>
<
div
id='tpl-table1'></
div
>
<
br
>
<
div
id='tpl-table2'></
div
>
</
body
>
</
html
>

  

 

转载地址:http://pyica.baihongyu.com/

你可能感兴趣的文章
【Python】keras使用Lenet5识别mnist
查看>>
注册Windows Phone Marketplace经验
查看>>
从Sliverlight Alpha(May2007)到Sliverlight Alpha Refresh之间变化
查看>>
各种学习资源
查看>>
Access界面基础操作
查看>>
文件系统管理 之 有关ext2文件系统下反删除(Undelete)操作恢复数据的文档
查看>>
SASS学习笔记1 —— 安装、编译和调试
查看>>
说说这篇「我为什么从python转向go
查看>>
使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航
查看>>
数据库系统实现(第2版)
查看>>
iBATIS框架源码剖析
查看>>
xBIM 使用Linq 来优化查询
查看>>
MySQL中concat函数
查看>>
转 载 --C++函数中那些不可以被声明为虚函数的函数
查看>>
linux之iptables
查看>>
Managed Metadata Service介绍系列 之四
查看>>
分布式缓存HttpRuntime.cache应用到单点登陆中_优化登陆
查看>>
live555学习笔记4-计划任务(TaskScheduler)深入探讨
查看>>
区域化 NSLocale Class
查看>>
今天自信心受挫了
查看>>