extJs自学笔记

2025-11-14

Ext.define自定义按钮

自定义按钮并添加初始化方法和监听,注意define(‘js文件路径’),只有这样的命名才能被extjs加载 //文件路径 js/define.js //文件路径 js/test-define.js Ext.define('js.define', { Ext.require(['js.define']); require : ['Ext.util.*'], Ext.onReady(function(){ extend: 'Ext.button.Button', Ext.create('myButton'); alias : 'myButton',//定义别名 }); text : '自定义按钮', //初始化组件方法,在组件加载时调用 initComponent: function() { 在JSP文件中首先引用ext必须的文件 //this.text = new Date(); 然后引用test-define.js Ext.MessageBox.alert('title','init'); console.log('init'); 结果:在执行到require方法时会自动this.renderTo = Ext.getBody(); 加载define.js文件,执行create方法时//调用父类的构造方法 会调用initComponent方法显示自定义this.callParent(); 按钮 }, listeners: { click : function(){ Ext.MessageBox.alert('title', 'onclick'); console.log('onclick'); } } });

Eclipse运行参数

导师配置

-Xms2048m -Xmx2048m -XX:MaxPermSize=1024m 老潘配置

Xms512m -Xmx512m -XX:MaxPermSize=1024m

-DWORKING_PATH=\

Ext.grid

获取选中的元素信息

获取单行数据

var selectedDatas=me.dataGridPanel.getSelectionModel().selected;

if(selectedDatas.length>1){ }

Ext.MessageBox.alert('提示','一次只能对一行数据进行操作'); return;

alert(selectedDatas.items[0].data.name); json数据中包含name属性

获取多行数据

var _selections = me.gridVar.getSelectionModel().selected; var codeArray = new Array();

for ( var i = 0; i < _selections.length; i++) { var _data = _selections.items[i].data; codeArray.push(_data.code); }

XIRJS.common.Util.ajaxRequest({

url : \ params : {

\ }, });

向后台传递参数codes,值为code数组 Ajax

http://extjs-doc-cn.github.io/ext4api/#!/api/Ext.Ajax

Ext.Ajax.request({ url:'page.php', params:{ id:1 },

success:function(response){ var text = response.responseText; // process server response here } });

通过修改Ext.Ajax类的属性,可以设置所有请求的默认配置: Ext.Ajax.timeout=60000;// 60秒

所有在Ajax请求request方法中设置的选项都会覆盖Ext.Ajax类上对应的默认选项。在以下示例代码中,请求的超时时间将会是60秒。 Ext.Ajax.timeout=120000;// 120秒 Ext.Ajax.request({ url:'page.aspx', timeout:60000 });

一般来说,在你的应用中,所有Ajax请求都会使用该类。单独创建Ext.data.Connection实例的主要原因是,

存在一系列请求,它们共享相同的配置,但是这些配置跟应用中的所有其它请求都不相同。

Ext.Json

http://extjs-doc-cn.github.io/ext4api/#!/api/Ext.JSON

解析decode( String json, Boolean safe ) : Object

解码(解析)JSON字符串对象。如果JSON是无效的,这个函数抛出一个

SyntaxError,除非设置了安全选项。Parametersjson : Stringsafe : Boolean(可选) 如果JSON是无效的,是否返回null或抛出一个异常。

代码示例: Ext.Ajax.request({ url : '/zhangliang-test-ext/getjson.action', params : { type : 'delete', names : namesArray.join(',') }, success : function(response) { var text = response.responseText; var data=Ext.JSON.decode(text); Ext.MessageBox.alert('提示',data.msg); } }); 分页

//每次输入换页前端传递参数 limit page start limit=20,_dc=1457784450612,page=1,start=0 后台传递json格式

{total:’10’,items : [{},{}]}

Java.util.List的subList(start,end)方法截取从start到end-1的元素 me.storeData = Ext.create('Ext.data.Store', { model : 'User', proxy : { type : 'ajax', url : '/zhangliang-test-ext/getjson.action', reader : { type : 'json', root : 'items', totalProperty : 'total' } }); }, autoLoad : true

向前端传递数据时必须传递数据总数,totalProperty指定的就是后台传递的属性名,root指定数据属性名

鼠标移至column弹出提示显示内容

initComponent()方法第一句初始化quicktips

Ext.QuickTips.init(); 需要tip的column添加如下代码

renderer: function(value,metaData,record,rowidx,colldx,store){ metaData.tdAttr = \ +Ext.String.htmlEncode(value)+\; returnvalue; } 例子:

效果:

可编辑表格

1添加行编辑插件

plugins: [ Ext.create('Ext.grid.plugin.RowEditing', { clicksToEdit : 2, autoCancel : false, errorSummary : false, saveBtnText : \确定\, cancelBtnText : \取消\ }) ],

2给想要编辑的column添加editor Textfield编辑 editor: { textfield相关配置,如allowBlank: false} 下拉框编辑 editor: 已经定义好的combo 3给grid添加edit事件监听

edit: function(editor,e,eOpts){ vardata=e.record.data; varparams={ id: data.id, text: data.text, jsName: data.jsName, leaf: data.leaf }; //获取修改后的数据并处理 }

新方法探索

reconfigure( Ext.data.Store store, Object[] columns )

使用一个新的store/columns配置项进行重新配置生成grid。 如果你不想改变store或者columns,他们任意一项均可以省略。

Parameters:store : Ext.data.Store(可选) 新的store。columns : Object[](可选) columns配置对象数组

Ext.form.Panel

默认表单项

defaultType : 'textfield' fieldset {

xtype:'fieldset', title: '联系信息', collapsible: true,

defaultType: 'textfield', defaults: {anchor: '100%'}, layout: 'anchor',

items :[me.tf_name, me.tf_email, me.tf_phone] }

显示如下效果


extJs自学笔记.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南三龙铁路指导性施组 - 图文

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219