`
chen2991101
  • 浏览: 37737 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
将博客搬至CSDN
      突然奇想想用extjs4做一个外网项目,但是extjs4依赖的文件实在太大,光ext-all.js已经压缩后的都有1.2m,做外网的话速度非常的慢,为了提高速度可以用gzip对文件再进行压缩,最后可以让1.2m的文件压缩成300多k,这样就大大的节省的时间。         1:先使用gzip压缩文件(http://download.csdn.net/detail/chen2991101/5654201)          把gzip.ext放在一个目录下面,需要压缩的文件也要放在同目录下面,然后在cmd窗口中也要到同样的目录下面输入:“gzip 文件名” 即可,然后把后缀名修 ...
      平时我们用Ext.Ajax.request来跟后台进行交互,通过ajax使用的是异步的的方式来传递,但是有些情况需要用同步的方式来进行 Ext.Ajax.request({ async : false,//添加上这个属性就能实现同步的方式 url: 'page.php', params: { id: 1 }, success: function(response){ var text = response.responseText; // pro ...
     extjs4一个比较好的地方就是所有的文件都能动态的生成,比如通过requires可以动态的加载js文件,但是有些加载的控件同样需要加载css文件。extjs4同样也给我们提供了方法: Ext.util.CSS.swapStyleSheet('文件id', 'css文件路径');// 动态加载css文件  
       项目中需要用下拉树来展示数据,到网上搜了下没有想要的东西,有些是自己写的下拉树,官方的api也没有treeCombobx这样的东西,但是在extjs4源码包里面却有一个叫treePicker的东西,这正是官方提供的下拉树,但是api里面也没有使用的例子。网上也没有相关的用法,没办法,只有自己看源码慢慢摸索,好在最后终于摸索出来了。 { xtype : 'treepicker', displayField : 'text',//这个地方也需要注意一下,这个是告诉源码tree用json数据里面的什么字段来显示,我测试出来是只能写'text'才有效果 ...
      在treePanel或者treeGrid控件上面注册itemcontextmenu事件就是右键菜单 '#deptGrid' : { itemcontextmenu : me.deptGrid_itemcontextmenu }   deptGrid_itemcontextmenu : function(his, record, item, index, e) { // 部门表的右键菜单 var me = this; e.preventDefault(); e.stopEvent();// ...
        项目有一个需求是展示一个部门信息,但是这个部门下面有可能还存在子部门,用一般的trrPanel感觉效果不是太好,在官方的api上面找到treeGrid控件正好可以满足需求,但是悲催的是把api里面的代码拷到程序里面后没有效果,根据反复的修改终于可以用了: Ext.define('SimpleTasks.view.organize.DeptGrid', { extend : 'Ext.tree.Panel', xtype : 'DeptGrid', rootVisible : false, ...
        项目中需要在同一个grid中转换成不同的数据,不如有一个menu,里面有“未审核”和“已审核”两个按钮,需要点击按钮后grid中出现对应的信息,之前使用的方法是当点击按钮的时候动态的创建store,然后再调用grid.reconfigure(st);的方法把数据加载到grid里面。         今天突然想起了searchField源码里面的grid.setExtraParam();方法,才发现之前我是如此的二。可以直接用: store.setExtraParam('method','check'); store.loadPage(1)  往后台发送一个名字为‘met ...
        在extjs4中的表单验证里面虽然能够通过allowBlank : false配置控件不能为空,但是如果在控件里面输入空格的话就很轻松的骗过了验证,这显然是不合理的,我想到的解决办法是通过重写TextField控件的验证器再加一个判断空格的验证: Ext.apply(Ext.form.TextField.prototype, { validator : function(text) { if (this.allowBlank == false && Ext.util.Format.t ...
如果用户页面没有关闭,重新启动tomcat后session依然有效,这样就会造成一个账号就能在两个地方同时登陆,给程序带来隐患。解决办法是在tomcat的context.xml文件里面添加: <Manager className="org.apache.catalina.session.PersistentManager" debug="0" saveOnRestart="false" maxActiveSessions="-1" minIdleSwap="-1" m ...
       项目中有一个模块是用来管理前台的评论内容。因为前台的评论没有限制输入的内容所以有可能用户保存的是一段html代码。后台extjs4进行管理的时候如果用grid展示出来会把grid里面的布局弄乱,很不好看,这个时候就想在grid中展示评论内容的时候不要解析这个html代码,当文本一样的输出。在freemarker中只需要在展示的内容两边加上一对标签即可,所以感觉应该不是太难,不知道extjs4里面有没有配置这样的属性,在网上搜索和看官方的api文档好像都没有这样的配置,那就只有再找另外的方法,好在extjs4提供了一个Ext.htmlEncode();的方法能够不解析html代码 ...
       最近看extjs4的API发现combobox还有一个比较实用的功能,就是在combobox中输入比如"四川",就会自动查询当前下拉框中有的值并补齐成“四川省”,如果下拉框中的值很多的话这个方法还是比较实用。实用的方法也特别的简单,配置两个属性就行了: { xtype : "combobox", store : store, forceSelection : true,// 只能输入下拉框的中存在的值 typeAhea ...
       每次重装系统后重新配置环境后最容易碰到两种乱码的问题,就是get提交乱码和当保存数据到mysql里面时后台代码都没有乱码但是到mysql后中文全是问号。        get提交乱码的解决办法是点击eclipse左边的项目列表中的Servers->Tomcat v7.0 Server at localhost-config->server.xml文件中修改<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redi ...
项目中需要开始时间和结束时间的验证。因为需求涉及到两个时间,所以要有验证开始时间不能大于结束时间。之前对extjs4了解不够深入,所以这个验证是放在后台来完成,然后在前台弹出一个alert来提示用户“开始时间不能大于结束时间”。这样做依然用户体验不好,不能输入完后马上就提示用户,而且还会发送没必要的请求增加服务器负担。多个字段的验证就能很好的解决这个问题。但是实现也要比单个字段的验证要复杂些,除了要自定义验证外,还要自定义属性用以配置两个互相关联的日期字段: Ext.apply(Ext.form.field.VTypes, { // ...
      extjs4自带的表单验证已经够强大了,但是有些特殊的要求还是无法满足,比如项目中的一个文本控件要求不能输入纯数字,这个需求普通的表单验证就不行了,好在extjs4提供了自定义vtype验证,通过正则表达式来判断,写法也非常的简单: Ext.apply(Ext.form.field.VTypes, { al : function(v) { return !(/^[0-9]*$/.test(v)); }, alText : '不能只输入数字' });  然后在表单里面只需要简单的添加一个vt ...
Global site tag (gtag.js) - Google Analytics