介绍
ExtJS是一种用于在客户端创建丰富多彩的web应用程序界面,可以用来开发RIA的AJAX应用,是完全基于纯Html/CSS+JS技术的Ajax框架,提供了丰富的跨浏览器UI组件,灵活采用JSON/XML数据源开发,使得服务端表示层(VIEW)的负荷真正减轻,从而达到客户端的MVC应用。
API 和一些参考资料
说明 | 地址 |
---|---|
Ext.js中文API | http://extjs-doc-cn.github.io/ext4api/ |
Ext.js英文API | https://docs.sencha.com/extjs/4.2.6/ |
Ext.js布局大全 | https://www.cnblogs.com/mingforyou/p/4119200.html |
Ext.js获取组件的方式大全 | https://blog.csdn.net/idomyway/article/details/78682895 |
在平台的作用
是平台的基础架构 版本是4.2.6
如何把开发extjs插件并挂接到平台
先在插件项目写一个exts插件面板
p-suanbanyun/src/ext:
└── extDemo // 模块名
├── controller // 控制器目录
| └── ctr.js // 控制器
└── view // 视图目录
├── mainView.js // 主面板
把插件挂载到平台
在开发->顶部菜单 创建数据
标题:EXTJS案例
编码:EXTJSANLI
类型:插件
图标:选一下
启用:打钩
配置信息:PRO.extDemo.view.mainView,PRO.extDemo.controller.ctr
在平台的应用介绍(主要)
主要的面板
列表 Ext.grid.PanelView
getGrid: function(){
var me = this;
var store = Ext.create('Ext.data.Store',{
fields:['name','sex','age'],
data:[
{name:'唐僧',sex:'男',age:'18'},
{name:'孙悟空',sex:'男',age:'18'},
{name:'猪八戒',sex:'男',age:'18'},
{name:'沙僧',sex:'男',age:'18'},
]
});
var grid={
xtype:'gridpanel',
store:store,
columns: [
{
header: '姓名',
dataIndex: 'name',
width: 200
},
{
header: '性别',
dataIndex: 'sex',
width: 200
},
{
header: '年龄',
dataIndex: 'age',
width: 200
}
]
}
return grid
}
表单 Ext.form.PanelView
getForm: function(){
var me = this;
var form={
xtype: "form",
labelWidth: 30,
defaultType: "textfield",
frame:true,
items:
[
{
fieldLabel:"姓名",
name:"name",
width:300,
allowBlank:false
},
{
fieldLabel:"性别",
name:"sex",
width:300,
},
{
fieldLabel: "年龄",
xtype:'numberfield',
name: "age",
width:300,
}
]
}
return form
}
树 Ext.tree.PanelView
getTree: function(){
var me = this
var store = Ext.create('Ext.data.TreeStore', {
root: {
expanded: true,
children: [
{ text: "detention", leaf: true },
{ text: "homework", expanded: true, children: [
{ text: "book report", leaf: true },
{ text: "alegrbra", leaf: true}
] },
{ text: "buy lottery tickets", leaf: true }
]
}
});
var tree = {
xtype:'treepanel',
store: store,
rootVisible: false,
}
return tree;
}
dataView Ext.view.ViewView
getDataView: function(){
var me = this;
var store = Ext.create('Ext.data.Store',{
fields:['name','sex','age'],
data:[
{name:'唐僧',sex:'男',age:'18'},
{name:'孙悟空',sex:'男',age:'18'},
{name:'猪八戒',sex:'男',age:'18'},
{name:'沙僧',sex:'男',age:'18'},
]
});
var dataView = {
xtype:'dataview',
store:store,
tpl:[
'<tpl for=".">',
'<span>姓名:{name}、性别:{sex}、年龄:{age}</span>',
'</tpl>'
]
}
return dataView;
}
box
getBox: function(){
var me = this;
var box = {
xtype:'box',
data:[
{name:'唐僧',sex:'男',age:'18'},
{name:'孙悟空',sex:'男',age:'18'},
{name:'猪八戒',sex:'男',age:'18'},
{name:'沙僧',sex:'男',age:'18'},
],
tpl:[
'<tpl for=".">',
'<span>姓名:{name}、性别:{sex}、年龄:{age}</span>',
'</tpl>'
]
}
return box
}
主要的布局
border
东南西北中的自适应布局
layout:'border',
defaults: {
collapsible: true,
split: true,
bodyStyle: 'padding:15px'
},
items: [{
title: 'Footer',
region: 'south',
height: 150,
minSize: 75,
maxSize: 250,
cmargins: '5 0 0 0'
},{
title: 'Navigation',
region:'west',
margins: '5 0 0 0',
cmargins: '5 5 0 0',
width: 175,
minSize: 100,
maxSize: 250
},{
title: 'Main Content',
collapsible: false,
region:'center',
margins: '5 0 0 0'
}]
fix
一个子元素将充满整个容器(如果多个子元素则只有一个元素充满整个容器)
layout:'fit',
items: {
title: 'Fit Panel',
html: 'Content',
border: false
}
vbox
纵向布局 设置子面的高度,宽度充满父面板
layout: {
type: 'vbox'
align : 'stretch',
pack : 'start',
},
items: [
{html:'panel 1', flex:1},
{html:'panel 2', height:150},
{html:'panel 3', flex:2},
hbox
横向布局 设置子面的宽度,高度充满父面板
layout: {
type: 'hbox',
pack: 'start',
align: 'stretch'
},
items: [
{html:'panel 1', flex:1},
{html:'panel 2', width:150},
{html:'panel 3', flex:2}
]
column
把整个容器看成一列,然后向容器放入子元素时
layout:'column',
items: [{
title: 'Width = 25%',
columnWidth: .25,
html: 'Content'
},{
title: 'Width = 75%',
columnWidth: .75,
html: 'Content'
},{
title: 'Width = 250px',
width: 250,
html: 'Content'
}]
如何快速的找到你想要的面板对象
表单一个字段值改变怎么找到表单上子功能集合的grid
var form = field.up('[xtype=jeformview]');
var childfuncfield_1 = form.down('[name=childfuncfield_1]');
var grid = childfuncfield_1.down('[xtype=grid]');
表单一个字段值改变怎么找到列表选中的数据
var form = field.up('[xtype=jeformview]');
var jemainview = form.up('jemainview');
var grid = jemainview.down('jegridview');
var selected = grid.getSelectionModel().getSelection();
最后编辑: 呼丽华 文档更新时间: 2024-08-21 10:58 作者:呼丽华