Hans 的流年

Java Flex ActionScript Ext
posts - 0, comments - 2, trackbacks - 0, articles - 2
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Ext弹出窗口动画的几种调用方式

Posted on 2008-01-16 13:02 Hans Ding 阅读(5496) 评论(2)  编辑  收藏 所属分类: Ext

单击Button弹出和双击Grid弹出,获取动画焦点的方式不同

index.js

HelloWindow  =   function ()  {
    
var  win  =   this ;
    
var  grid  =   new  HelloGrid();

    HelloWindow.superclass.constructor.call(
this {
        title : 'Hello Window',
        layout : 'fit',
        width : 
500 ,
        height : 
300 ,
        closeAction : 'hide',
        plain : 
true ,
        items : [
{
            xtype : 'tabpanel',
            region : 'center',
            activeTab : 
0 ,
            border : 
false ,
            items : [
new  Ext.Panel(  {
                title : 'The first panel',
                autoTabs : 
true ,
                activeTab : 
0 ,
                deferredRender : 
false ,
                border : 
false ,
                html : 'the first panel'
            }
), grid]
        }
],

        buttons : [ 
{
            text : 'Submit',
            disabled : 
true
        }
{
            text : 'Close',
            handler : 
function ()  {
                win.hide();
            }

        }
]
    }
);
}


Ext.extend(HelloWindow, Ext.Window, 
{} );

HelloBtn 
=   function ()  {
    HelloBtn.superclass.constructor.call(
this {
        text : 'Hello Button'
        ,
    }
);
}


Ext.extend(HelloBtn, Ext.Button, 
{} );

HelloGrid 
=   function ()  {

    
var  myData  =  [
            ['3m Co', 
71.72 0.02 0.03 , ' 9 / 1   12 :00am'],
            ['Alcoa Inc', 
29.01 0.42 1.47 , ' 9 / 1   12 :00am'],
            ['Altria Group Inc', 
83.81 0.28 0.34 , ' 9 / 1   12 :00am'],
            ['American Express Company', 
52.55 0.01 0.02 , ' 9 / 1   12 :00am'],
            ['American International Group, Inc.', 
64.13 0.31 0.49 ,
                    '
9 / 1   12 :00am'],
            ['AT
& T Inc.',  31.61 - 0.48 - 1.54 , ' 9 / 1   12 :00am'],
            ['Boeing Co.', 
75.43 0.53 0.71 , ' 9 / 1   12 :00am'],
            ['Caterpillar Inc.', 
67.27 0.92 1.39 , ' 9 / 1   12 :00am'],
            ['Citigroup, Inc.', 
49.37 0.02 0.04 , ' 9 / 1   12 :00am'],
            ['E.I. du Pont de Nemours and Company', 
40.48 0.51 1.28 ,
                    '
9 / 1   12 :00am'],
            ['Exxon Mobil Corp', 
68.1 - 0.43 - 0.64 , ' 9 / 1   12 :00am'],
            ['General Electric Company', 
34.14 - 0.08 - 0.23 , ' 9 / 1   12 :00am'],
            ['General Motors Corporation', 
30.27 1.09 3.74 , ' 9 / 1   12 :00am'],
            ['Hewlett
- Packard Co.',  36.53 - 0.03 - 0.08 , ' 9 / 1   12 :00am'],
            ['Honeywell Intl Inc', 
38.77 0.05 0.13 , ' 9 / 1   12 :00am'],
            ['Intel Corporation', 
19.88 0.31 1.58 , ' 9 / 1   12 :00am'],
            ['International Business Machines', 
81.41 0.44 0.54 ,
                    '
9 / 1   12 :00am'],
            ['Johnson 
&  Johnson',  64.72 0.06 0.09 , ' 9 / 1   12 :00am'],
            ['JP Morgan 
&  Chase  &  Co',  45.73 0.07 0.15 , ' 9 / 1   12 :00am'],
            ['McDonald\'s Corporation', 
36.76 0.86 2.40 , ' 9 / 1   12 :00am'],
            ['Merck 
&  Co., Inc.',  40.96 0.41 1.01 , ' 9 / 1   12 :00am'],
            ['Microsoft Corporation', 
25.84 0.14 0.54 , ' 9 / 1   12 :00am'],
            ['Pfizer Inc', 
27.96 0.4 1.45 , ' 9 / 1   12 :00am'],
            ['The Coca
- Cola Company',  45.07 0.26 0.58 , ' 9 / 1   12 :00am'],
            ['The Home Depot, Inc.', 
34.64 0.35 1.02 , ' 9 / 1   12 :00am'],
            ['The Procter 
&  Gamble Company',  61.91 0.01 0.02 , ' 9 / 1   12 :00am'],
            ['United Technologies Corporation', 
63.26 0.55 0.88 ,
                    '
9 / 1   12 :00am'],
            ['Verizon Communications', 
35.57 0.39 1.11 , ' 9 / 1   12 :00am'],
            ['Wal
- Mart Stores, Inc.',  45.45 0.73 1.63 , ' 9 / 1   12 :00am']];

    
//  example of custom renderer function
     function  change(val)  {
        
if  (val  >   0 {
            
return  ' < span style = " color:green; " > +  val  +  ' </ span > ';
        }
  else   if  (val  <   0 {
            
return  ' < span style = " color:red; " > +  val  +  ' </ span > ';
        }

        
return  val;
    }


    
//  example of custom renderer function
     function  pctChange(val)  {
        
if  (val  >   0 {
            
return  ' < span style = " color:green; " > +  val  +  ' %</ span > ';
        }
  else   if  (val  <   0 {
            
return  ' < span style = " color:red; " > +  val  +  ' %</ span > ';
        }

        
return  val;
    }


    
//  create the data store
     this .store  =   new  Ext.data.SimpleStore(  {
        fields : [ 
{
            name : 'company'
        }
{
            name : 'price',
            type : '
float '
        }
{
            name : 'change',
            type : '
float '
        }
{
            name : 'pctChange',
            type : '
float '
        }
{
            name : 'lastChange',
            type : 'date',
            dateFormat : 'n
/ j h:ia'
        }
]
    }
);
    
this .store.loadData(myData);

    HelloGrid.superclass.constructor.call(
this {
        columns : [ 
{
            id : 'company',
            header : 
" Company " ,
            width : 
160 ,
            sortable : 
true ,
            dataIndex : 'company'
        }
{
            header : 
" Price " ,
            width : 
75 ,
            sortable : 
true ,
            renderer : 'usMoney',
            dataIndex : 'price'
        }
{
            header : 
" Change " ,
            width : 
75 ,
            sortable : 
true ,
            renderer : change,
            dataIndex : 'change'
        }
{
            header : 
" % Change " ,
            width : 
75 ,
            sortable : 
true ,
            renderer : pctChange,
            dataIndex : 'pctChange'
        }
{
            header : 
" Last Updated " ,
            width : 
85 ,
            sortable : 
true ,
            renderer : Ext.util.Format.dateRenderer('m
/ d / Y'),
            dataIndex : 'lastChange'
        }
],
        stripeRows : 
true ,
        autoExpandColumn : 'company',
        height : 
350 ,
        width : 
600 ,
        title : 'Hello Grid'
    }
);
}


Ext.extend(HelloGrid, Ext.grid.GridPanel, 
{} );

Ext.onReady(
function ()  {
    
var  helloBtn  =   new  HelloBtn();
    helloBtn.render('helloBtn');
    helloBtn.on('click', 
function (e)  {
        win.show(
this .getEl().dom);
    }
);

    
var  helloGrid  =   new  HelloGrid();
    helloGrid.render('helloGrid');
    helloGrid.on('rowdblclick',
function (obj,rowIndex,e) {
        win.show(Ext.get(e.target).dom);        
    }
);
    
var  win  =   new  HelloWindow();
}
);

index.html
<html>
    
<head>
        
<title>index.html</title>
        
<!-- ext -->
        
<script type="text/javascript" src="./ext2/js/ext-base.js"></script>
        
<script type="text/javascript" src="./ext2/js/ext-all-debug.js"></script>
        
<link rel="stylesheet" type="text/css" href="./ext2/css/ext-all.css" />
        
<script type="text/javascript" src="javascript/index.js"></script>

    
</head>

    
<body style="padding:20px;">
        
<div id="helloBtn"></div><br>
        
<div id="helloGrid"></div>
    
</body>
</html>

代码下载:
/Files/hansdyj/example.rar


    -----------------------------------------------------------------

    编程就像是做菜,那是一门艺术,别搞得像是为了活下去

评论

# re: Ext弹出窗口动画的几种调用方式[未登录]  回复  更多评论   

2009-11-28 12:25 by yy
程序有问题!不能运行

# re: Ext弹出窗口动画的几种调用方式  回复  更多评论   

2012-05-18 16:45 by 路人
@yy
index.js中 text : 'Hello Button'后面多个逗号去掉就好了。

只有注册用户登录后才能发表评论。


网站导航: