幽哥

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、学习ExtJS前提

1、Javascript

2、JSON(减肥的XML)

3、Java(C#)

4、Web Services

5、HTML DOM

6、AJAX

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

二、配置ExtJS运行环境

1、CSS文件:resources\css\ext-all.css

2、底层支持文件:adapter\ext\ext-base.js

3、环境文件:ext-all.js

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

三、hello world 实现

相信大家已经领略了ExtJs的魅力,那么要如何应用ExtJS呢?

要使用ExtJS,先要得到ExtJS库文件,ExtJS库文件可以到ExtJS官网下载,地址是www.extjs.com/products/gxt/download.php,把下载得到的ZIP压缩文件解压缩到【D:\ExtCode】目录下,可以得到以下内容。

  adapter:负责将里面提供第三方底层库(包括Ext自带的底层库)映射为Ext所支持的底层库。

  build: 压缩后的ext全部源码(里面分类存放)。

  docs: API帮助文档。

  exmaples:提供使用ExtJs技术做出的小实例。

  resources:Ext UI资源文件目录,如CSS、图片文件都存放在这里面。

  source: 无压缩Ext全部的源码(里面分类存放) 遵从Lesser GNU (LGPL) 开源的协议。

  Ext-all.js:压缩后的Ext全部源码。

  ext-all-debug.js:无压缩的Ext全部的源码(用于调试)。

  ext-core.js:压缩后的Ext的核心组件,包括sources/core下的所有类。

  ext-core-debug.js:无压缩Ext的核心组件,包括sources/core下的所有类。

 

得到ExtJS库文件后,就可以将extjs应用到页面当中了。应用extjs需要在页面中引入extjs的样式及extjs库文件,样式文件为resources/css/ext-all.css,extjs的js库文件主要包含两个,adapter/ext/ext-base.js及ext-all.js,其中ext-base.js表示框架基础库,ext-all.js是 extjs

核心库。adapter表示适配器,也就是说可以有多种适配器,因此,可以把

adapter/ext/ext-base.js换成 adapter/jquery/ext-jquery-adapter.js,或

adapter/prototype/ext-prototype- adapter.js等。

 因此,要使用ExtJS框架的页面中一般包括下面几句:

     <link href="../ExtResource/css/ext-all.css" rel="stylesheet" type="text/css" />

    <script src="../Javascrip/ext-base.js" type="text/javascript"></script>

    <script src="../Javascrip/ext-all.js" type="text/javascript"></script>

    <script src="../Javascrip/window/hello.js" type="text/javascript"></script>

在ExtJS库文件及页面内容加载完后,ExtJS会执行Ext.onReady中指定的函数,因此可以用,一般情况下每一个用户的ExtJS应用都是从Ext.onReady开始的,使用ExtJS应用程序的代码大致如下:

   <script type="text/javascript">      

    Ext.onReady(function(){

    Ext.MessageBox.alert("hello","hello world");

    });

</script>

怎么样,看了以上内容,是不是迫不及待的想动手试试了?别急,下面我们写一个最简单的ExtJS应用,在hello.html文件中输入下面的代码:

%@ Page Language="C#" AutoEventWireup="true" CodeFile="JsHelloWorld.aspx.cs" Inherits="PageTestJs_JsHelloWorld" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>HelloWorld</title>

    <link href="../ExtResource/css/ext-all.css" rel="stylesheet" type="text/css" />

    <script src="../Javascrip/ext-base.js" type="text/javascript"></script>

    <script src="../Javascrip/ext-all.js" type="text/javascript"></script>

    <script type="text/javascript">      

         Ext.onReady(function(){ 

         Ext.MessageBox.alert("hello","hello world");

    });

</script>

……

页面效果就不给大家看了,自己运行就OK啦 呵呵

 

进一步,我们可以在页面上显示一个窗口,代码如下:

  <script type="text/javascript">      

    Ext.onReady(function(){

    alert(1);

    var win=new Ext.Window({title:"hello",width:300,heigth:200,

    html:'<h1>hello world!</h1>'});

    win.show();

    //Ext.MessageBox.alert("hello","hello world");

    });

    </script>

这只是一个简单的实例,要想做出复杂的功能还需要学习很多知识。效果如下:

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

四、ExtJS Button常用方法:

1、属性

renderTo:将当前对象所生成的HTML对象存放在指定的对象中

text:得到按钮名称

minWidth:按钮最小宽度

hidden:按钮的隐藏或显示(true or false)

2、构造参数

handler:指定一个函数句柄,在默认事件触发时调用,此时在默认事件为click

listeners:在对象初始化之前,将一系列事件进行绑定。

3、函数

getBogy():对到Body对象

onReady():当页面加载完成时执行本函数

getText():得到按钮名称

setText("按钮名称"):设置按钮名称

4、应用举例

NO.1:     

       Ext.onReady(function(){

            var button= new Ext.Button({

                renderTo:Ext.getBody(),

                text:"确定",

                listeners:{

                    "click":function()

                    {

                        alert("Hello");

                    }

                }

            })

            button.minWidth=200;

            button.setText("EasyPass");

        })

NO.2:      

        Ext.onReady(function(){

            var button= new Ext.Button({

                    renderTo:Ext.getBody(),

                    text:"确定"

                })

                button.on("click",function(){

                    alert("hello");

                })

            button.minWidth=200;

            button.setText("EasyPass1");

        });

NO3:

一个alert对话框可以轻松用Extjs来实现了。prompt('','');在Extjs中同样存在相对应用法。

<script type="text/javascript">              

         Ext.onReady(function(){   

//            var t=prompt("输入电话号码");   

//            var v=confirm("你输入的电话号码为"+t); //可以试试这个效果       

                Ext.MessageBox.prompt(

                    "Input",

                    "input a number:",

                    function(button,text){

                        if(button=="ok")

                            Ext.MessageBox.alert("number","the number is "+text);

                        else

                            Ext.MessageBox.alert("sorry","the number is null.");

                    }

                );

            });

这个语法稍有麻烦, Ext.MessageBox.prompt('标题','说明:',完毕后执行的函数); 执行的函数需要有两个参数,button与text。button用来判断用户选择了取消还是确定选项。确定则为该值为'ok'。text为输入的文字。效果如下:

 

posted on 2010-10-04 18:34  幽哥  阅读(882)  评论(0编辑  收藏  举报