ExtJs 的一些技巧与问题

[color=white]
[list=1]
  • 修改列表(grid)里store的加载url
  •  
     grid.getStore().proxy.conn.url = "xxx.jsp";
     grid.getStore().reload();
      
  • Ext.data.Store里baseParams与Store.load({params:{}})的区别:
  •      baseParams里的参数是一直存在的,而params里的参数,只有load时
         才会传递过去,当调用reload时参数就不存在了
  • 使Window以页面的相对大小显示
  •  height: document.body.clientHeight * xx%
     width: document.body.clientWidth * xx%
    

  • Ext.FormPanel load(自动加载) 时的json格式
  • [list]
  • {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'}
            ])
     这样做的好处是可以手动选择想加载的字段!
    
    

    [/list]
  • 获得iframe的方法
  •  var ifr_window = window.frames["name/id"];  
    
  • 制作表单的时候,经常form组件显示不出来或不正常其中有两个原因
    • id冲突,这个问题经常由重用引起的
    • 布局,form组件只有在'form'布局才显示正常,应添加layout:'form'
  • Ext.WindowGroup 负责把 window 归入一组,方便管理;
  •  var wgroup = new Ext.WindowGroup();
     var win=new Ext.Window({
          title:"窗口"	
          width:400,
          height:300,
          manager:wgroup}); 	
    //接下来就可以利用wgroup对这一组window进行操作啦!如
    1、隐藏全部window
    wgroup.hideAll();
    
  • Js 两个定时器
  • //将执行一次Expression
    setTimeout(Expression,DelayTime)
    //每隔DelayTime,执行一次
    setInterval(expression,delayTime)
    
  • 早上想找一个刷新树的方法,
  • 找了TreePanel,TreeLoader都没找到,
    结果发现只有根结点才有reload方法!
  • 今天测试了一下,Ext除了用html显示图片外还可以用
  •     下面的autoCreate方式在form里显示,代码如下:
    {
     fieldLabel: '海报',
     autoCreate:{
         tag: "input",
         type: "image",
         src: "images/add.gif",
         width: 150,
         height: 200,
         autocomplete: "off"
    }
    
  • Ext 自定义事件三步曲
  • [list]
  • 添加事件addEvents(str)
  •  this.addEvents('eventName');
    
  • 添加事件监听器addListener(eventName,fn,scope);
  •  this.on('eventName',this.fn,scope);
    
  • 激发事件fireEvent(eventName,args...)
  •  this.fireEvent('eventName',arg0,arg1,...);
    //*
      *----------------------------------------
      *添加事件监听器里的执行的方法this.fn里的参数就是
      *由激发事件时提供的,如agr0,agr1,...
      *-----------------------------------------
      */
    

    [/list]
  • Ext reset() 方法刷新时,无法刷新inputType:file的值的解决方法:
  • 不要使用ext Form的刷新方法:
    FormPanel.form.reset()
    

    而是换成使用Dom的刷新方法:
    FormPanel.form.getEl().dom.reset();
    
  • 不断更新中,大家发现什么问题和技巧,欢迎提出,我会在这里更新的
  • [/list]
    [/color]

    你可能感兴趣的:(json,jsp,Ajax,ext,Gmail)