ext3.3

最好分好类

//3个基本js引入顺序,不可错。

<link rel="stylesheet" type="text/css"

href="<%=basePath%>/context/resources/ext3.3/css/ext-all.css" />
    <script type="text/javascript"

src="<%=basePath%>/context/resources/ext3.3/adapter/ext/ext-base.js"></script>
    <script type="text/javascript"

src="<%=basePath%>/context/resources/ext3.3/adapter/ext/ext-all.js"></script>
    <script type="text/javascript"

src="<%=basePath%>/context/resources/ext3.3/adapter/ext/ext-lang-zh_CN.js"></script>

//图片显示不正常

Ext.BLANK_IMAGE_URL = 'context/resources/ext3.3/images/default/s.gif';这个图片在js中要引入.

//EXT.getCmp('id')返回的是一个Ext控件,ext获得html标签ext.get(‘id’).dom.value

Ext.get方法是获取一个元素,你可以通过他来修改控件的属性
   Ext.getCmp方法是获得一个Ext控件,你可以通过他来调用控件的方法

 



1.modal:true这个放在Ext.window里作用是让window成为一个模式窗口,这样当这个窗口弹出后,他的父窗口不可用.


2.当一个Ext.window的closeAction有两种选择close/hide(完全关闭/隐藏)close就是把此window destroy。

hide是把此window隐藏,这样做的复用性比较强,注:如果要重新渲染这个window的html,需要window.body.update(‘html’)。


3.请教,如何单击grid上某行,让它前面的checkbox不跟着选中
sm = new Ext.grid.CheckboxSelectionModel({handleMouseDown:Ext.emptyFn});
3.1   grid相当于table

        必须属性store(页面记录集),cm(tr行),sm(td列)


4.Ext.form的错误提示:
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
qtip: 当鼠标移动到控件上面时显示提示
title: 在浏览器的标题显示,但是测试结果是和qtip一样的
under: 在控件的底下显示错误提示
side: 在控件右边显示一个错误图标,鼠标指向图标时显示错误提示
[element id]: 错误提示显示在指定id的HTML元件中




5.如果需要定义控件有两种方法(以gridPanel为例子)
a.new Ext.grid.GridPanel({
      ........
})
b.{
       xtype:’gridpanel’,
       ........
}
使用new 的方式是立即创建组件 而使用xtype则是延迟创建 这样的好处是当需要渲染此组件时才创建 类似hibernate的延迟加载 都是为了提高效率!



6.在JS中把JSON字符串转为对象,Ext.decode ( )
   在JS中把对象转为JSON字符串,Ext.encode ( )



7.ext获得html标签ext.get(‘id’).dom.value



8.可扩展的grid
   (1)首先引入JS:RowExpander.js
   (2)定义这个控件
   var expander = new Ext.grid.RowExpander({
        tpl : new Ext.Template(
             //{userName}是data的值
            '<p><b>用户名:</b> {userName}</p><br>',
            '<p><b>登陆名:</b> {loginName}</p><br>',
            '<p><b>职务:</b> {office}</p><br>',
            '<p><b>部门:</b> {organize}</p><br>',
            '<p><b>用户类型:</b> {userType}</p><br>',
            '<p><b>锁定状态:</b> {lockStatus}</p>'
        )
    });
(3)在Ext.grid.ColumnModel中加入它
(4)在Ext.grid.GridPanel中也要加入它


9.可以在容器组件中把hideLabels设置为true,这样将不会显示容器中字段的标签了




10.使用enter键代替tab键切换焦点
    var el =Ext.get('例如:formmane');
    var map = new Ext.KeyMap(el, {
        key: Ext.EventObject.ENTER,
        fn: function(){
          event.keyCode=9;
        }
    });


11.Ext.get方法是获取一个元素,你可以通过他来修改控件的属性
   Ext.getCmp方法是获得一个Ext控件,你可以通过他来调用控件的方法


12.combo

相当于select
属性介绍:hiddenName,用来传值。在程序中取值要用到。

               在items里,类型(xtype)设置成combo。




13.分页参数
        bbar: new Ext.PagingToolbar({
        pageSize: 15,
        store: ds,
        displayInfo: true,
        displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
        paramNames : {start: 'begin', limit: 'end'},
        emptyMsg: "没有记录"
    })
这样当你需要ds.load({params:{begin:0,end:15}});时就可以修改参数名了。

条件查询,后边还可以加入参数。
booktype_ds.load({params:{start:minLimit, limit:maxLimit,bookTitle:searchText,bookDetail:detail}});

14.刷新树,在某些操作(如添加或删除节点)执行后,需要即时刷新树
tree.root.reload()




15.切记:当控件用allowBlank :false(验证不为空)时,如果此控件的value不能为’’,如果需要为空要这么写:value:undefined

你可能感兴趣的:(JavaScript,json,css,ext,Office)