extjs几种常用方法
1,提交
这种情况一般用于登录界面,也在表单提交应用比较多,大多是一个Button的提交事件,代码为:
var loginForm =........;
if (loginForm .form.isValid()) {
var params = loginCenter.getForm().getValues();
console.log("params= %o",params);//一般这里打个log看看提交的参数
loginForm .getForm().submit({
params:params,
waitTitle : "请稍候",
waitMsg : '正在登录......',
url : 'LoginAction.do',
success : function(form, action) {
//登录成功操作
},
failure : function(form, action) {
//登录失败操作
console.log("login failure action %o",action);//这个就可以看到为什么登录失败
},
});
}
2,请求request
这种多用于请求少量数据,或者删除操作等,跟submit的区别就是,只要request接收到从服务器返回的结果,都是走success,不管返回的值是什么,代码为:
Ext.Ajax.request({
url: "deleteAction.do",
success: function(response) {
//一般都会请求成功,请求回来的数据都是在response.responseText里面的
},
failure:function(response){
//一般失败都是网络原因
}
});
3.数据store
常用的应该分为两种,一种是treeStore树形数据,另一种就是GridStore表格数据,
首先树形数据treeStore代码:
树形又分两种,一种是分级加载,一种是全部加载,分级加载,是点击一个节点,然后将这个节点,传送给服务端,由服务端,根据节点加载数据,主要用于层级结构比较多,数据量比较大的情况;全部加载就是一次性将整个树形数据都获取过来,用于小型树。
首先看分级加载:
Ext.define('UMS.data.MyTreeData.Store', {
extend: 'Ext.data.TreeStore',
nodeParam:'treeId',//整个参数的意思是,将节点的id,保存的变量命,用于服务端解析
autoLoad:true,
clearOnLoad:true,
proxy:{
type:'ajax',
url:'getTreeStore.do',//获取数据的action
reader:{
type:'json'
root :'children',//不显示root节点
}
},
root:{
id:"root_node"//根节点的id值,整个这里的意思是这个id是String不是Int
}
});
全部加载:看过上面那个,这个就简单多了
Ext.create('Ext.data.TreeStore', {
expanded: true,
clearOnLoad:true,
proxy:{
type:'ajax',
url:'getTreeStoreAction.do',
reader:{
type:'json',
root :'children'
}
}
});
接着是GridStore,表格数据,一般数据比较多的时候,都是需要分页的,所以,连同分页控件,一起写上了,代码:
var itemsPerPage = 20;//这个是每页显示的条数,根据实际情况定
Ext.define('UMS.data.GridStore', {
extend: 'Ext.data.Store',
autoLoad:{start:0,limit:itemsPerPage},
fields: ['id','username','name','email',],
pageSize:itemsPerPage,//每页大小
proxy:{
type:'ajax',
url:'getGridStoreAction.do',
reader:{
type:'json',
root:'items',//这个是服务端返回数据的跟节点
totalProperty:'totalSize'//这个是服务端返回数据,表示一共有多少条
}
},
sorters: [{
property: 'username',//表格的内容默认根据此列排序
direction: 'ASC'//升序
}]
});
4 combox下拉框中为一个树或者panel:
Ext.define('UMS.TreeComboBox',{
extend : 'Ext.form.field.ComboBox',
alias: 'widget.liangzitreecombo',
store : new Ext.data.ArrayStore({fields:[],data:[[]]}),//这个不用改
editable : false,
resizable:false,
readOnly:false,
editable:false,
_idValue : null,//这条跟下面这条是自己加的属性,为这个新控件的id和text
_txtValue : null,
initComponent : function(){
//初始化的时候用到,比较关键,就是要把哪个tree放进来
var combo = this;
this.callParent(arguments);
this.treeRenderId = Ext.id();
//必须要用这个定义tpl
this.tpl = new Ext.XTemplate('<tpl for="."><div style="height:100' + 'px;"><div id="' + this.treeRenderId+ '"></div></div></tpl>');
//这个就是我们放进去的tree了
var treeObj = new Ext.tree.Panel({
border : false,
height : 250,
width : 500,
autoScroll : true,
id:'parentGroupTree',
rootVisible: false,
store : Ext.create('Ext.data.TreeStore', {
expanded: true,
clearOnLoad:true,
proxy:{
type:'ajax',
url:'getTreeStoreAction.do',
reader:{
type:'json',
root :'children'
}
}
})
});
//定义树形的点击事件,主要就是框体内文字的显示,以及收回面板
treeObj.on('itemclick',function(view,rec){
if(rec){
combo._idValue = rec.get('id');
combo.collapse();
}
});
treeObj.on('beforeitemexpand',function( node, eOpts ){
//这里是树展示前的一些准备
});
//这里是必要的,不要改
this.on(
'expand',function(){
if(!treeObj.rendered&&treeObj&&!this.readOnly){
Ext.defer(function(){
treeObj.render(this.treeRenderId);
},300,this);
}
});
},
getValue : function(){//获取id值
return this._idValue;
},
getTextValue : function(){//获取text值
return this._txtValue;
},
setLocalValue : function(txt,id){//设值
this._idValue = id;
this.setValue(this._txtValue = txt);
}
});
extjs几种常用方法的更多相关文章
- Java中从控制台输入数据的几种常用方法
Java中从控制台输入数据的几种常用方法 一.使用标准输入串System.in //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字 //System.in ...
- jQuery验证元素是否为空的两种常用方法
这篇文章主要介绍了jQuery验证元素是否为空的两种常用方法,实例分析了两种常用的判断为空技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了jQuery验证元素是否为空的两种常用方法.分享给 ...
- 在Quartus II中分配管脚的两种常用方法
在Quartus II中分配管脚的两种常用方法 示范程序 seg7_test.v 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* * ...
- NSString的几种常用方法
NSString的几种常用方法 要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定. [string stringByRe ...
- Java更新XML的四种常用方法简介
本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for X ...
- vue——props的两种常用方法
vue--props的两种常用方法 1.实现父-->子的通信 举例如下: 父组件 parent.vue <children :channel="object1"> ...
- C#程序实现软件开机自动启动的两种常用方法
C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法函数的示例与实例带详细注释 方法一:将软件的快捷方式创建到计算机的自动启动目录下(不需要管理员权限) 1.必要引用 ...
- [C#.Net]启动外部程序的几种常用方法汇总
本文汇总了C#启动外部程序的几种常用方法,非常具有实用价值,主要包括如下几种方法: 1. 启动外部程序,不等待其退出. 2. 启动外部程序,等待其退出. 3. 启动外部程序,无限等待其退出. 4. 启 ...
- js函数调用二种常用方法的例子
js中函数调用的两种常用方法. 一个js函数 function test(aa){ window.alert("你输入的是"+aa); } 方法一:直接调用 test(" ...
随机推荐
- 一个玩具程序——测试密码强度(pure C)
替人写的C语言作业… 介绍: 程序名称:密码强度检测程序 注释风格:doxygen 测试环境:linux3.6, gcc4.7window7, vs2012 已知问题:1. 算法与参考链接不一致,结果 ...
- 关于jquery获取服务器端xml数据
其实这个很简单,但是有时候简单的东西会让你犯一些低级错误. 今天写了个spring mvc 的服务器端接口,主要是用来共享一些数据库数据. 请求字段:http://localhost:8080/XXX ...
- NET/ASP.NET Routing路由(深入解析路由系统架构原理)(转载)
NET/ASP.NET Routing路由(深入解析路由系统架构原理) 阅读目录: 1.开篇介绍 2.ASP.NET Routing 路由对象模型的位置 3.ASP.NET Routing 路由对象模 ...
- js判断手机端操作系统(Andorid/IOS)
非常实用的js判断手机端操作系统(Andorid/IOS),并自动跳转相应下载界面 androidURL = "http://xxx/xxx.apk"; var browser = ...
- python基础知识二
对象 python把在程序中用到的任何东西都成为对象. 每一个东西包括数.字符串甚至函数都是对象. 使用变量时只需要给他们赋一个值.不需要声明或定义数据类型. 逻辑行与物理行 物理行是你在编写程序时所 ...
- DNS(域名系统)域名解析设置
DNS(Domain Name System,域名系统), 因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最 ...
- Asp.Net MVC Ajax
将ASP.NET MVC中的form提交改为ajax提交 在ASP.NET MVC视图中通过 @using (Html.BeginForm()) 产生的是form表单提交代码,可以用javascrip ...
- A题笔记(1)
#include <stdlib.h> exit(); #include <stdlib.h> 是 exit(0) 必须的头文件 否则会出现 exit was not decl ...
- 时间格式nls_date_format的设置
nls_date_format参数用于设置日期显示格式,设置的方式有多种,不同的方式也会带来不同的结果.参数的设置是有优先级的,日期格式的参数设置也不例外.优先级如下(低到高):初始化参数 < ...
- 4.SQL语言基础
4.1语言分类和用户模式 4.1.1语言分类 1)数据查询语言 用语检索数据库中的数据,主要是select语句,是操作数据库时最为频繁使用. 2)数据操纵语言 用语改变数据库中的数据,主要包括inse ...