EXT入门(二)---UI

news/2024/7/5 23:15:41 标签: ext, stylesheet, autoload, header, tabs, function

1 MessageBox(消息提示框)


Ext.onReady(function() {
    var paragraphClicked = function(e) {
        var paragraph = Ext.get(e.target);
        paragraph.highlight();
        Ext.MessageBox.show({
            title: 'Paragraph Clicked',
            msg: paragraph.dom.innerHTML,
            width:400,
            buttons: Ext.MessageBox.OK,
            animEl: paragraph
});
    }
    Ext.select('p').on('click', paragraphClicked);
});
测试时加入<p> this is paragraph,please click</p>

传入到MessageBox.show的只有一个参数:一个Object literal(对象字面化),包含一组属性和属性值。在Javascript中,对象字面化是动态的,你可在任何时候用{和}创建一个典型的对象 (object)。其中的字符由一系列的name/value组成的属性,属性的格式是[property name]:[property value]。

2 Grid(表格)

ext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
Ext.onReady(function()  ext">{
    var myData 
= [
        [
'Apple',29.89,0.24,0.81,'9/1 12:00am'],
        [
'Ext',83.81,0.28,0.34,'9/12 12:00am'],
        [
'Google',71.72,0.02,0.03,'10/1 12:00am'],
        [
'Microsoft',52.55,0.01,0.02,'7/4 12:00am'],
        [
'Yahoo!',29.01,0.42,1.47,'5/22 12:00am']
    ];
 
    var myReader 
= new Ext.data.ArrayReader(ext">{}, [
        
ext">{name: 'company'},
        
ext">{name: 'price', type: 'float'},
        
ext">{name: 'change', type: 'float'},
        
ext">{name: 'pctChange', type: 'float'},
        
ext">{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
    ]);
 
    var grid 
= new Ext.grid.GridPanel(ext">{
        store: 
new Ext.data.Store(ext">{
            data: myData,
            reader: myReader
        }
),
        columns: [
            
ext">{header"Company", width: 120, sortable: true, dataIndex: 'company'},
            
ext">{header"Price", width: 90, sortable: true, dataIndex: 'price'},
            
ext">{header"Change", width: 90, sortable: true, dataIndex: 'change'},
            
ext">{header"% Change", width: 90, sortable: true, dataIndex: 'pctChange'},
            
ext">{header"Last Updated", width: 120, sortable: true
                renderer: Ext.util.Format.dateRenderer(
'm/d/Y'), 
                            dataIndex: 
'lastChange'}

        ],
        viewConfig: 
ext">{
            forceFit: 
true
        }
,
        renderTo: 
'content',
        title: 
'My First Grid',
        width: 
500,
        frame: 
true
    }
);
 
    grid.getSelectionModel().selectFirstRow();
}
);

  • 第一行创建数组并作为数据源。实际案例中,你很可能从数据库、或者WebService那里得到动态的数据。
  • 接着,我们创建并加载data store, data store将会告诉Ext的底层库接手处理和格式化这些数据。不同的数据类型须在类Reader中指明。
  • 接着,我们创建一个Grid的组件,传入各种的配置值,有:
    • 新的data store, 配置好测试数据和reader
    • 列模型column model定义了 列columns的配置
    • 其他的选择指定了Grid所需的功能
  • 最后,通过SelectionModel告诉Grid高亮显示第一行。
呵呵 ,现在这歇下,一会在学习 layouts, tabs, menus, toolbars, dialogs, tree view等等。


1 Tabs

test.html
ext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
< html >
< head >
    
< title ></ title >
    
    
<!--  Include Ext and app - specific scripts:  -->
    
< script type = " text/javascript "  src = " ../adapter/ext/ext-base.js " ></ script >
    
< script type = " text/javascript "  src = " ../ext-all-debug.js " ></ script >
    
< script type = " text/javascript "  src = " ExtStart.js " ></ script >
    
    
<!--  Include Ext stylesheets here:  -->
    
< link rel = " stylesheet "  type = " text/css "  href = " ../resources/css/ext-all.css " >
    
< link rel = " stylesheet "  type = " text/css "  href = " ExtStart.css " >
</ head >
< body >
< div id = " tabs1 " >

        
< div id = " script "   class = " x-hide-display " >

            
< p > parm:script </ p >

        
</ div >

        
< div id = " markup "   class = " x-hide-display " >

            
< p > parm:markup </ p >

        
</ div >

</ div >
</ body >
</ html >
ExtStart.js
ext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
Ext.onReady(function() ext">{

    
// basic tabs 1, built from existing content

    var tabs 
= new Ext.TabPanel(ext">{

        renderTo: 
'tabs1',

        width:
450,

        activeTab: 
0,

        frame:
true,

        defaults:
ext">{autoHeight: true},

        items:[

            
ext">{contentEl:'script', title: 'Short Text'},

            
ext">{contentEl:'markup', title: 'Long Text'}

        ]

    }
);;
}
);

可以动态链接的Tab

ext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
Ext.onReady(function() ext">{

    var tabs
= new Ext.TabPanel(ext">{

        renderTo: document.body,

        activeTab: 
0,

        width:
600,

        height:
250,

        plain:
true,

        defaults:
ext">{autoScroll: true},

        items:[
ext">{

                title: 
'Normal Tab',

                html: 
"My content was added during construction."

            }
,ext">{

                title: 
'Ajax Tab 1',

                autoLoad:
'ajax1.htm'

            }
,ext">{

                title: 
'Ajax Tab 2',

                autoLoad: 
ext">{url: 'ajax2.htm'params'foo=bar&wtf=1'}

            }
,ext">{

                title: 
'Event Tab',

                listeners: 
ext">{activate: handleActivate},

                html: 
"I am tab 4's content. I also have an event listener attached."

            }
,ext">{

                title: 
'Disabled Tab',

                disabled:
true,

                html: 
"Can't see me cause I'm disabled"

            }


        ]

    }
);



    function handleActivate(tab)
ext">{

        alert(tab.title 
+ ' was activated.');

    }

}
);


http://www.niftyadmin.cn/n/1153091.html

相关文章

java 标识符

java 标识符 java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。 java 标识符 1、所有的标识符都应该以字母&#xff08;A-Z或者a-z&#xff09;&#xff0c;特殊符号&#xff08;美元符$&#xff09;、或者下划线&#xff08;_&#xff09;开始 2、首字母…

关于在smarty中实现省市区三级联动

刚开始接触php&#xff0c;&#xff0c;其实对于一些比较深入的东西还不是很了解&#xff0c;就像是这次的省市区联动&#xff0c;都是用三张表为基础编码的&#xff0c;原谅我的无知&#xff0c;谢谢。 接下来就是编码部分了&#xff1a; <?php require(./smarty/Smarty.c…

异步上传文件

这里我写的有点重复了 不太简洁 整体可以再优化 formData 是DOM对象 不是jquery对象 var formData new FormData($("#file")[0]); 对象.append() 可以追加表单内所有信息上传服务器 Jquery的对象是 不能处理file serialize() 序列化表单&#xff0c;用于 Ajax 请求…

http各个状态码含义

http各个状态码含义 1**&#xff1a;请求收到&#xff0c;继续处理 2**&#xff1a;操作成功收到&#xff0c;分析、接受 3**&#xff1a;完成此请求必须进一步处理 4**&#xff1a;请求包含一个错误语法或不能完成 5**&#xff1a;服务器执行一个完全有效请求失败100 Continue…

【安卓笔记】高速的发展设置界面-----PreferenceActivity

通常app都会有一个设置界面&#xff0c;例如以下&#xff1a; 通常做法是自定义布局&#xff0c;然后在代码里面加入响应函数&#xff0c;并将结果保存到Sharedpreferences中。android给我们提供了PreferenceActivity来简化开发设置界面。你仅仅需这样做&#xff1a;1.创建一个…

《深入浅出WPF》笔记——绘画与动画

《深入浅出WPF》笔记——绘画与动画 原文:《深入浅出WPF》笔记——绘画与动画本篇将记录一下如何在WPF中绘画和设计动画&#xff0c;这方面一直都不是VS的强项&#xff0c;然而它有一套利器Blend&#xff1b;这方面也不是我的优势&#xff0c;幸好我有博客园&#xff0c;能记录…

汉字编码

很久很久以前&#xff0c;有一群人&#xff0c;他们决定用8个可以开合的晶体管来组合成不同的状态&#xff0c;以表示世界上的万物。他们看到8个开关状态是好的&#xff0c;于是他们把这称为"字节"。再后来&#xff0c;他们又做了一些可以处理这些字节的机器&#xf…