輕松搞定ExtJs 3.4


  首先,我們來看看效果,這是需要實現的東東,經典布局,好吧,我承認,這玩意已經被做爛了,但是還是寫寫,記錄下吧,高手略過哦。我不打算寫什么分步的教程,教你如何去使用控件,我們的目標只有一個,實現功能,並且我們的時間不多,畢竟時間寶貴,4天完成,后台我采用php(兩天學的),兩天寫ext后台(其實還有個前台界面,那個就不說了)。

    好了,第一天,我們先准備下工具:
    1、Sublime_text2 不得不說的編輯器,相當牛掰。
    2、PremiumSoft 不說了,一個很不錯的數據庫工具,放棄phpmyadmin吧
    3、ExtJs庫,在這里我講的將是extjs 3.4庫,extjs 4.0.7千萬別用,不然哭了可不要說我沒提醒,4.1沒用過不發表意見,總體,我認為extjs4這個版本的開發效率提高了不少,但是運行效率還是省省吧,不過extjs有個問題,越高的版本對ie6支持就越差勁,所以,如果你有ie6的客戶,別選太高的版本,
    好了,我們需要准備的就這么多了,php就是簡單啊,難怪asp.net不能獨步啊。
    我們正式開始,按照我的習慣,我喜歡先把程序的原型做出來,那么第一步,我們來認識一下viewport這個元素。
    ViewPort,ExtJs用來提供的布局管理器,類似於winform中的dock布局,一個簡單的例子,看起來像這樣:
<!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>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!--ext css-->
    <link rel="stylesheet" type="text/css" href="..//Jscript/resources/css/ext-all.css" />
    <script type="text/javascript" src="..//Jscript/ext-base.js"></script>
    <script type="text/javascript" src="..//Jscript/ext-all.js"></script>
    <script type="text/javascript" src="..//Jscript/locale/ext-lang-zh_CN.js"></script>
</head>
<body>
    <script type="text/javascript">
        //在ext 4以前的版本中這個非常重要,不然會引起界面的混亂
        Ext.BLANK_IMAGE_URL = '/jscript/resources/images/default/s.gif'; 
        //Ext的標准提示初始化,當然沒有它也可以
        Ext.QuickTips.init();

        //很熟悉吧,Jquery(document).ready(); ^^
        Ext.onReady(function () {
            var north = new Ext.Panel({
                id:'south',
                html : '<div>這里是我們的管理系統標題哦</div>',
                bodyStyle: 'background:#133984;padding:20px',
                height : 60,
                region : 'north',
                split : false                                    //禁止拖動
            });

            var south = new Ext.Panel({
                id : 'north',
                html : '<div style="text-align:center">這里是版權哦</div>',
                region : 'south',
                split : false
            });

            var west = new Ext.Panel({
                id : 'west',
                html : '<div>這里是樹導航哦</div>',
                width : 200,
                region : 'west',
                split : 'true'
            })

            var content = new Ext.Panel({
                id : 'center',
                html : '這里是主體內容哦',
                split : 'true',
                region : 'center'                                //這里是最重要的,在4版本后如果沒有center渲染會報錯的
            });

            var view = new Ext.Viewport({
                layout:'border',
                items : [north,south,west,content]
            })
        })
    </script>
</body>
</html>

這樣,你看到的樣子應該是這樣的:

在這里,有幾點提示:

  1、大家最好引入html的dtd文件,防止出現莫名的錯誤。

  2、設定meta為utf8,亂碼了別哭哦。

  3、大家最好去下載extjs的幫助文檔,如果找不到的話,在文章的最后提供給大家下載,如何去看這個幫助文檔很重要。

接下來,有幾個注意獻給大家講下:

  1、在extjs中,如果一個控件有items屬性,那么可以簡寫成這樣,類似於下面提供的樣子:

(當然,中括號有問題,自己補全下哦^^)

我們要說的是,在items中每個{}號代表一個panel,如果你不加xtype屬性的話。

好了,第一大步已經完成了,下面給大家介紹重量級控件,tree控件,鼓掌~~~~~。

我們就不在這里給大家寫什么靜態樹了,直接來ajax加載,接上面viewport。

tree的根節點是一個異步節點,名字叫做Ext.tree.AsyncTreeNode,大家可以在api文檔中自行查找,建立的方式看起來是這個樣子的:

解釋下這段代碼的結構:

  1、id:這個是要像服務器去取值的,必填屬性。

  2、text:顯示出來給大家看的,必填屬性。

  3、leaf : 是否是葉節點,必填屬性,這個如果不填,那么前面的小圖標會不對的。

改寫我們viewport的west段代碼,使其看起來像這樣:

ok,我們的樹做完了,相當easy吧,這樣子,這棵樹就已經是一顆ajax tree了,但是注意哦,后台需要返回的數據是由格式需求的,他們看起來大概是這樣的:
[{"id":true,"text":"網站首頁","leaf":false},{"id":"2","text":"xxxxx","leaf":false}]

注意看其格式,不然的話會顯示出五花八門的錯誤。

好了,今天就先到這里吧,下課。

哦,忘記了,好像要上傳文件的,api在這里哦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM