【ExtJs】border布局的panel里add内容无效的解决方法
如果panel的布局采用了border的布局(也就是东西南北中那种),那么默认是不能使用add方法在border panel里添加子panel的。
这里的解决办法是:在border panel里添加一个固定的方位panel,之后往这个方位panel里添加一个子panel,这样就可以使用add方法了。
如果panel的布局采用了border的布局(也就是东西南北中那种),那么默认是不能使用add方法在border panel里添加子panel的。
这里的解决办法是:在border panel里添加一个固定的方位panel,之后往这个方位panel里添加一个子panel,这样就可以使用add方法了。
Ext.form.DateField在chrome、safari下显示异常,日期选择组件会显得的很长,盛满屏幕。
解决方法是打个补丁,如下:
Ext.override(Ext.menu.DateMenu,{
render : function(){
Ext.menu.DateMenu.superclass.render.call(this);
if(Ext.isGecko|| Ext.isSafari){
this.picker.el.dom.childNodes[0].style.width = '178px';
this.picker.el.dom.style.width = '178px';
}
}
});
参考:http://www.fafrei.com/2010/12/ext-form-datefield-firefox%E6%98%BE%E7%A4%BA%E5%BC%82%E5%B8%B8/
1、ExtJS 2.2中,Ext.grid.GridPanel在IE中表头的图标会发生错位,如图所示:
但是在Firefox中显示是正常的。
解决方法为:在所用到的css文件中添加代码,
.ext-ie6 .x-menu-item-icon,.ext-ie7 .x-menu-item-icon,.ext-ie8 .x-menu-item-icon {
left: -24px;
}
GridPanel是ExtJs中最常用的组件之一,特别对于信息系统来说,经常需要用它来显示表格状地数据。目前习惯用的界面布局是:左侧功能导航菜单,右侧主区域放TabPanel,每开一个功能加一个Tab。之前遇到的问题是GridPanel放在TabPanel里的话高度和宽度很难搞,横向滚动条和垂直滚动条自动出现是个大问题。今天找到了一个简便的解决办法。
在TabPanel的Tab里加入layout配置
new Ext.Panel({
layout:'border',
items: [ gp ]
...
});
CKEditor是一个出色的所见即所得的富文本编辑器,相比ExtJs原生的htmleditor要强大很多,于是把CKEditor集成到ExtJs中便是一个很好的选择。
从ExtJs官方论坛找到了整合的实例,不过其中的问题不少,比如组件setValue、isDiry等方法无法得到正确的结果。经过改造,修正了以上问题,并将CKFinder做了整合,同时增加了对CKEditor工具栏选择配置的支持。
修改后的Ext.form.CKEditor组件源码如下:
翻遍所有ExtJs 2.2的form组件,竟没有合适的显示html格式内容的组件,唯有htmleditor组件式用来编辑html格式内容的,但用来显示的话超链接就没法点了,发挥搜索十八般武艺无果。最有自己来改写了一下原来的Ext.form.Field组件变成Ext.form.DisplayField组件(该组件在ExtJs 3.2里默认支持)。
Ext.form.DisplayField组件源码:
之前做过一阵的ExtJs开发,从最傻的符号问题,到后来的渲染问题都碰到过。下面是个人开发过程中做的一些总结,多是问题的应对:
1、引入js和css文件时注意文件的路径问题;
2、导入ext-base.js后注意设置Ext.BLANK_IMAGE_URL的值(透明图片s.gif位置);
3、IE提示“缺少标识符,字符串或数字”错误,为配置时 “}”前多了逗号,且所处位置在Ext.onReady在同一个js文件
4、IE提示变量未定义,一般为有语法错误,如多余了”,”等
使用Cookie:
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
Ext.state.Manager.set("key","value");
var cookievalue= Ext.state.Manager.get("key");
近期评论