1. 程式人生 > >extjs的學習筆記

extjs的學習筆記

一.extjs的官網:http://extjs.org.cn/

二.產品目錄介紹

一.extjs的官網:http://extjs.org.cn/

二.產品目錄介紹

三.在專案中使用

應用語言local檔案,resources樣式檔案,核心的js檔案

引入:

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

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

"></script>

四.在html中編輯js時自動進行提示,需要安裝spket外掛

下載地址:http://www.spket.com/download.html

解壓的features和plugins和eclipse中相應資料夾合併,重啟eclipse

 

 

 

設定新的ExtJS Profile,選中並點選“JavaScript Profiles” 對話方塊右手邊的“Defalut”按鈕;

下面這個操作,根據自己需要設定(可以全選)。

 

6)重啟eclipse或者Myeclipse;

7)建立新的JS檔案並輸入: Ext這樣就可設定Ext Code程式碼自動完成的功能。

效果如下:

 

 用spket編輯器開啟js:

  1. 可將 *.js 檔案的預設編輯器設定為 Spket JavaScript Editor:

五.對extjs的基本瞭解

A、面板(Panel)

B、佈局(Layout)

C、元件(Component)

D、渲染(Render)

E、視窗(Window)

F、對話方塊(Dialog)

六.hellword

<%@ page language=

"java" contentType="text/html; charset=ISO-8859-1"

    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

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

    href="extjs/resources/css/ext-all.css">

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

<script type="text/javascript">

    Ext.onReady(function() {

        Ext.

        Ext.MessageBox.alert("hell world");

    })

</script>

<title>Insert title here</title>

</head>

<body>

</body>

</html>

七.關於對json物件的簡單實用

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

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

    href="extjs/resources/css/ext-all.css">

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

<script type="text/javascript">

    Ext.onReady(function() {

         var cat = {

                name : "kafe",

                sex : "男",

                age : 18,

                type : "動物"

            }; 

         Ext.MessageBox.alert("hell world" + "姓名:" + cat.name + "性別:" + cat.sex

                    + "型別" + cat.type); 

    });

</script>

<title>Insert title here</title>

</head>

<body>

</body>

</html>

八.ExtJS幾種常見提示框

A、Ext.MessageBox.alert(String title,String mess,function fn,Object scope)

B、Ext.MessageBox.confirm(String title,String mess,function fn,Object scope)

C、Ext.MessageBox.prompt(String title,String mess,function fn,Object scope,Boolean/Number multiline,String value)

D、Ext.MessageBox.wait(String mess,String title,Object scope);

配置項

型別

說明

title

String

提示框的標題

msg

String

顯示資訊的內容

width

String

對話方塊的寬度,以畫素為單位

closable

Boolean

false將隱藏右上角的關閉按鈕,預設為false。如果已設定wait或progress為true則該配置將被忽略,提示框只能通過程式關閉,不能通過右上角的關閉按鈕關閉

modal

Boolean

true為模式視窗,false為非模式視窗

Fn

Function

回撥函式

buttons

Object/Boolean

一個包含配置資訊的json物件或false不顯示任何按鈕,預設為false

progress

Boolean

true則表示一個進度條,預設為false,該進度條需要由程式控制滾動

progressText

String

進度條上顯示的文字

wait

Boolean

True則表示一個自動滾動的滾動條,預設為false

prompt

Boolean

String

true表示一個單行文字域

如果prompt設定為true,則value值將顯示在文字域中

multiline

Boolean

如果prompt設定為true,則multiline設定為true顯示多行文字區,false顯示單行文字域

icon

String

一個樣式檔案,它為對話方塊提供一個北京圖,下面有一個詳細列表

提示框按鈕配置物件

說明

注意

Ext.Msg.CANCEL

只顯示一個“取消”按鈕

注意配置物件的大小寫,正確的寫法: Ext.Msg.CANCEL

錯誤的寫法:

Ext.Msg.cancel

Ext.Msg.Ok

只顯示一個“確定”按鈕

Ext.Msg.OKCANCEL

顯示兩個按鈕“確定”和“取消”

Ext.Msg.YESNO

顯示兩個按鈕“是”和“否”

Ext.Msg.YESNOCANCEL

顯示三個按鈕“是”“否”和“取消”

九.進度條

   

<script type="text/javascript">

    Ext.onReady(function() {

        var progress = Ext.MessageBox.show({

            title:'進度條',

            width:300,

            progress:true//設成true進度條才會顯示

            msg:'當前進度'

        });

         var index = 0;

         var t = {//建立一個任務變數

                 run:function(){

                     progress.updateProgress(index/100,"當前已完成"+index+"%","請稍後……");

                     index+=5;

                     if(index > 100){

                         Ext.TaskManager.stop(t);

                     }

                 },

                 interval:1000

         };

         Ext.TaskManager.start(t);//使用TaskManager來開始任務

    });

</script>

十.第3講.ExtJS工具欄、選單欄

1.工具欄使用Toolbar建立,在toolbar上使用add新增工具,使用資料進行新增

配置項

類別

說明

handler

Function

一個函式,在按鈕被單擊之後被呼叫

iconCls

String

一個樣式表,提供按鈕顯示的圖示

menu

Mixed

引數可以是一個選單物件或者是選單物件的id,也可以是一個有效的選單配置物件

text

String

按鈕上顯示的文字

 

<script type="text/javascript">

    Ext.onReady(function() {

        var toolbar = new Ext.toolbar.Toolbar({

            renderTo : 'toolbar',

            width : 700

        });

        toolbar.add([ {//填充按鈕

            text : '新建資料夾',

            iconCls : 'createIcon'

            handler : buttonClick

        }, {

            text : '開啟資料夾',

            iconCls : 'openIcon',

            handler : buttonClick

        }, {

            text : '儲存資料夾',

            iconCls : 'saveIcon',

            handler : buttonClick

        }, '-', {//-表示|分割符

            xtype : 'textfield',

            hideLable : true,

            width : 100

        }, '->''<a href="http://www.baidu.com">HtmlElement百度</a>' ,"String字串"]);//->表示填充剩餘空間

        function buttonClick(btn) {

            alert(btn.text);

        }

        Ext.get("enable").on("click"function() {

            toolbar.enable();

        })

        Ext.get("disable").on("click"function() {

            toolbar.disable();

        })

    });

</script>

執行效果:

 

 2.選單欄

 

<script type="text/javascript">

    Ext.onReady(function() {

        var toolbar = new Ext.toolbar.Toolbar({

            renderTo : 'toolbar',

            width : 700

        });

        toolbar.add([ {

            text : '新建資料夾',

            iconCls : 'createIcon'

            handler : buttonClick,

            menu:new Ext.menu.Menu({

                shadow:'drop',

                items:[

                        {

                            text:'新建word',

                            icon:'images/add.png',

                            menu:new Ext.menu.Menu({

                                shadow:'drop',

                                items:[{

                                    text:'建立word2007',

                                    icon:'images/add.png',

                                    menu:new Ext.menu.Menu({

                                        shadow:'drop',

                                        items:[{

                                            text:'顏色選擇',

                                            icon:'images/add.png',

                                            menu:new Ext.menu.ColorPicker()

                                        },

                                        {

                                            text:'日期選擇',

                                            icon:'images/add.png',

                                            menu:new Ext.menu.DatePicker()

                                        }

                                        ]

                                    })

                                },{

                                    text:'建立word2010',

                                    icon:'images/add.png'

                                }]

                            })    

                        },

                        {

                            text:'新建excel',

                            icon:'images/add.png'

                        },

                        {

                            text:'新建ppt',

                            icon:'images/add.png'

                        }

                        ]

            })

        }, {

            text : '開啟資料夾',

            iconCls : 'openIcon',

            handler : buttonClick

            

        }, {

            text : '儲存資料夾',

            iconCls : 'saveIcon',

            handler : buttonClick

        }, '-', {//-表示|分割符

            xtype : 'textfield',

            hideLable : true,

            width : 100

        }, '->''<a href="http://www.baidu.com">HtmlElement百度</a>' ,"String字串"]);//->表示填充剩餘空間

        function buttonClick(btn) {

        //    alert(btn.text);

        }

        Ext.get("enable").on("click"function() {

            toolbar.enable();

        })

        Ext.get("disable").on("click"function() {

            toolbar.disable();

        })

    });

</script>

執行效果:

 

十一.extjs的表單

 

 

 

 示例:

<script type="text/javascript">

    Ext.onReady(function() {

        var form = new Ext.form.FormPanel({

            title : '表單標題',

            id : 'loginForm',

            renderTo:'form',

            width : 500,

            heigth : 500,

            items : [ {

                xtype : 'textfield',

                fieldLabel : '使用者名稱',

                //--------驗證區----------------

                allowBlank : false,//是否為空

                blankText : '使用者名稱不能為空',//如果空了,提示資訊

                emptyText : '請輸入使用者名稱',//文字框的預設填充內容,提示

                msgTarget : 'under',//設定驗證提示資訊的位置,qtip:顯示一個浮動的提示資訊,title:顯示一個瀏覽器的負擔提示資訊,under:在欄位下方顯示一個提示資訊, side: 在欄位的右邊顯示一個提示資訊 

                regex : /^\d{3,10}$/,//正則表單驗證

                regexText : '使用者名稱必須是3-10位的數字!',

                //----------------------------

                name : 'username',

                id : 'username',

            }, {

                xtype : 'textfield',

                fieldLabel : '密碼',

                //--------驗證區----------------

                allowBlank : false,//是否為空

                blankText : '密碼不能為空',//如果空了,提示資訊

                emptyText : '請輸入密碼',//文字框的預設填