论坛首页 AJAX版 EXT

ExtJs 的一些技巧与问题

浏览 1691 次
精华帖 (0) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-07-15
  1. 修改列表(grid)里store的加载url
  2.  grid.getStore().proxy.conn.url = "xxx.jsp";
     grid.getStore().reload();
      
  3. Ext.data.Store里baseParams与Store.load({params:{}})的区别:
  4. baseParams里的参数是一直存在的,而params里的参数,只有load时
    才会传递过去,当调用reload时参数就不存在了
  5. 使Window以页面的相对大小显示
  6.  height: document.body.clientHeight * xx%
     width: document.body.clientWidth * xx%
    

  7. 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'}
              ])
       这样做的好处是可以手动选择想加载的字段!
      
      

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

  20. 不断更新中,大家发现什么问题和技巧,欢迎提出,我会在这里更新的
   
时间:2008-07-15
不错,赞楼主,对我这个初学者很有用,希望继续~
   
0 请登录后投票
时间:2008-07-16
EXTJS,前几天,给客户替换了一个功能,用了EXTJS,一个页面有600条数据,显示需要8秒左右的时间,没法忍受了,客户又要换回以前那种table的了。
   
0 请登录后投票
时间:2008-07-17
在加载grid 表格数据的时候,
直接写成
datastroe.load({params:{start:0,limit:15}});

往往不出现load...提示的小窗,
改成
setTimeout(function(){datastroe.load({params:{start:0,limit:PAGE_15}})},1);

即可出现加载数据的loading...提示
   
0 请登录后投票
时间:2008-07-17
formPanel.form.setValues({id:1,name:'aabbcc'});

这样加载更方便通用点。
   
0 请登录后投票
时间:2008-07-23
引用
EXTJS,前几天,给客户替换了一个功能,用了EXTJS,一个页面有600条数据,显示需要8秒左右的时间,没法忍受了,客户又要换回以前那种table的了。

嗯...这个。。要么分页,要么用LiveGrid
   
0 请登录后投票
时间:2008-07-23
sp42 写道
引用
EXTJS,前几天,给客户替换了一个功能,用了EXTJS,一个页面有600条数据,显示需要8秒左右的时间,没法忍受了,客户又要换回以前那种table的了。

嗯...这个。。要么分页,要么用LiveGrid

偶的exreport,
8s可以显示5w的数据了。

btw:在想,gridpanel可不能分批的异步加载数据,
即,100rows,100rows的取,然后加到当前的页面?
   
0 请登录后投票
时间:2008-07-24
http://www.codeproject.com/KB/ajax/AjaxScrollingPagination.aspx,这里有个例子,分批加载数据。是C#代码,但是JS代码还是有参考价值的
   
0 请登录后投票
时间:2008-08-05
请问你刷新树的方法找到了吗?
dianbo.zhu@gmail.com
   
0 请登录后投票
时间:2008-08-06
引用
dimboo 23 小时前
请问你刷新树的方法找到了吗?
dianbo.zhu@gmail.com


tree.root.reload()
   
0 请登录后投票
论坛首页 AJAX版 EXT

跳转论坛:
JavaEye推荐