ExtJS 的一些技巧与问题
1.修改列表(grid)里store的加载url
grid.getStore().proxy.conn.url = "xxx.jsp";
grid.getStore().reload();
2.Ext.data.Store里baseParams与Store.load({params:{}})的区别:
baseParams里的参数是一直存在的,而params里的参数,只有load时才会传递过去,当调用reload时参数就不存在了。
3.使Window以页面的相对大小显示
width: document.body.clientWidth * xx%
height: document.body.clientHeight * xx%
4.Ext.FormPanel load(自动加载) 时的json格式{data:[{a:'a'},{b:'b'}]},其中data是规定的,不能更改名称,假如不为data的话,比如{root:[{a:'a'},{b:'b'}]},那么form 是自动加载不进去的,这时你需要在Ext.FormPanel里添加reader属性,如:
reader: new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root: 'root'
},[
{name:'a'},
{name:'b'}
])
这样做的好处是可以手动选择想加载的字段!
5.获得iframe的方法
var ifr_window = window.frames["name/id"];
6.制作表单的时候,经常form组件显示不出来或不正常其中有两个原因
1、id冲突,这个问题经常由重用引起的;
2、布局,form组件只有在'form'布局才显示正常,应添加layout:'form'
7.Ext.WindowGroup 负责把 window 归入一组,方便管理;
var wgroup = new Ext.WindowGroup();
var win=new Ext.Window({
title:"窗口"
width:400,
height:300,
manager:wgroup
});
//接下来就可以利用wgroup对这一组window进行操作啦!如:隐藏全部window
wgroup.hideAll();
8.Js 两个定时器
//将执行一次Expression
setTimeout(Expression,DelayTime)
//每隔DelayTime,执行一次
setInterval(expression,delayTime)
9.刷新树的方法,只有根结点才有reload方法!
10.Ext除了用html显示图片外还可以用下面的autoCreate方式在form里显示,代码如下:
{
fieldLabel: '海报',
autoCreate:{
tag: "input",
type: "image",
src: "images/add.gif",
width: 150,
height: 200,
autocomplete: "off"
}
11.组件的显示和隐藏:所有组件都有内置的show和hide方法。默认的css样式应用的是display: none,可以通过hideMode改变
12.浮动组件:浮动组件定位于文档流之外,使用的是CSS的绝对定位属性,不受父容器的布局控制。有些组件,例如Window,默认就是浮动的,任何组件都可以通过floating属性配置成浮动的。
有几个属性是使用浮动组件时值得注意的:
draggable - 让浮动组件可以拖拽
shadow - 定制浮动组件的阴影效果
alignTo() - 让浮动组件对齐到一个特定元素
center() - 让浮动组件相对于容器居中