ExtJs

ExtJS框架基础:事件模型及其常用功能

前言

工作中用ExtJS有一段时间了,Ext丰富的UI组件大大的提高了开发B/S应用的效率。虽然近期工作中天天都用到ExtJS,但很少对ExtJS框架原理性的东西进行过深入学习,这两天花了些时间学习了下。我并不推荐大家去研究ExtJS框架的源码,虽然可以学习其中的思想和原理,但太浪费精力了,除非你要自己写框架。

对于ExtJS这种框架,非遇到“杂症”的时候我觉得也没必要去研究其源码和底层的原理,对其一些机制大致有个概念,懂得怎么用就行,这也是本篇博文的主要目的。

ExtJs中动态加载机制研究

昨天我们team对于extjs的动态加载机制做了些深入研究,这里先share下controller加载的结果。

以service registry portlet为例:
比如,在 liferay-portlet.xml中定义了:

所以我们的js的入口点是app.js,这其中创建了Ext.application并且声明了动态加载controller:

ExtJS 英文视频教程

ExtJS 英文视频教程

大家都知道国外有很多英文的ExtJS视频,对一些英文还不错的开发者来说,这些资料很珍贵,但由于这些视频一般都放在Youtube上,而国内无法访问这个视频网站,今天发现了国内有热心人士将这些英文的视频放到了优酷上面.

感谢 "tarrin_" 整理.

视频观看地址:

http://www.youku.com/playlist_show/id_19343298.html

ExtJS 无法解码带有换行符的字符串

我们上次偶然发现了一个问题,我们在一个庞大的项目中,然后按照 spring web flow 走下去,最后一步提交,提交成功,但是回到某个页面上的时候,总是报错,说某个变量 比如var projectInfo,这个变量为null。

后来我们仔细看了下代码,原来是因为这个页面上有个字段是textarea,然后它会支持多行输入,多行也就是\n,然后在extjs看来,它无法对于一个包含\n的字符串进行decode,所以decode的结果就是null

我们实验如下:

(1)Ext.decode一个包含\n的字符串:

这里可以看出decode会失败。

ExtJS 常用代码片段

笔者工作中用到的功能,以及一些小功能,贴出来跟大家分享。

1、grid加载时候选择一行或全选:

为stroe添加load事件,调用sm的selectAll方法

store.on("load",function(store) {sm.selectAll();});

选择一行或多行和以调用selectRow、selectRows或selectRecords等方法,在api中有详细介绍。

2、Extjs 中调用Ajax

聚合内容