• yam天空
  • 天空部落
  • 新聞
  • 登入 註冊 網誌隨便逛
  • 加入天空部落
  • 華文部落格大賞結果出爐!

網誌 相簿 影音 PK吧! Honda嬉遊趣
即時新聞 影音新聞 新聞專輯 政治新聞 財經新聞 娛樂新聞 運動新聞 兩岸新聞 科技新聞
管理介面 發表網誌 發表日記 上傳相片 上傳影音 管理留言
推薦這個部落格: 190

A HA! 心情雜物間

專供個人碎碎念的心得小屋,或是好物分享~~ ^_^

日記 |網誌 |相簿 |好友 |留言板
絨毛鴨 | 主頁 | [Extjs] How to modify html content of panel
October 30, 2009
[EXTJS] Layout Issues以文找文
csylvia 在天空部落發表於18:22:13 | AJAX
鼓勵此網誌:0 

從 2009.09.15 寫到現在......有那麼複雜嗎?= =b

由於最近幫忙修改或是開發 UI,
對 Extjs 的 layout 有一些心得,
故分享於此。


這邊只列出我用過的 layout,
並且我使用的是 2.0 版本,
所以很多 layout 可能都沒有碰過,
但這些 layouts 應該是大部分使用 Extjs 都常用到的。

 

 

【layout: "border"】

我挺喜歡這個 layout,因為擺起來最漂亮,其 layout 內的位置配置如下圖所示:

 

 

以此 layout 配置的每一個 items 都要定義「region」,
好確定其放在哪個位置。

但這個 layout 放在 dialog 的 tab panel 中,如果沒有每一個位置都有 item 放置的話會有問題。(好像只有在 IE 有問題)

年代久遠(噗),我已經忘記是怎樣的問題,
只依稀記得就是無法設計出自己想要的版型,
但如果不是 tab panel 而是普通的 dialog panel 的話就不會有問題。

很可惜哪,因為這個 layout 的配置畫面真的挺好看的......


有關 border layout 放在 tab panel 的相關議題可參考「[2.0rc1] BorderLayout resize problem in IE when panel is hidden - Ext JS Forums」。

 

 

【layout: "column"】

這應該也是最常用的一種 layout,
將版面切成幾行,然後每行內放一個 item。

 

 1: var panel = new Ext.Panel({
 2: 	title: 'Column Layout',
 3: 	layout:'column',
 4: 	items: [{
 5: 		title: 'Column 1',
 6: 		width: 120
 7: 	},{
 8: 		title: 'Column 2',
 9: 		columnWidth: .8	// percentages -- all columnWidth values must add up
10: 	},{
11: 		title: 'Column 3',
12: 		columnWidth: .2
13: 	}]
14: });

 

需要設定 width,以免 items 擠在一起,
但如果碰到 item 內的字串可變大可變小時,
就有字串被截掉的危險。

 

 

【layout: "table"】

不同於其他 layout 是用 <div> 來達成,
這事實上就是一個 <table> 元件,
所以用法也跟 table 語法類似。

以下範例來自 Extjs:

 

 1: // This code will generate a layout table that is 3 columns by 2 rows
 2: // with some spanning included.  The basic layout will be:
 3: // +--------+-----------------+
 4: // |   A    |   B             |
 5: // |        |--------+--------|
 6: // |        |   C    |   D    |
 7: // +--------+--------+--------+
 8: 
 9: var table = new Ext.Panel({
10: 	title: 'Table Layout',
11: 	layout:'table',
12: 	defaults: {
13: 		// applied to each contained panel
14: 		bodyStyle:'padding:20px'
15: 	},
16: 	layoutConfig: {
17: 		// The total column count must be specified here
18: 		columns: 3
19: 	},
20: 	items: [{
21: 		html: '<p>Cell A content</p>',
22: 		rowspan: 2
23: 	},{
24: 		html: '<p>Cell B content</p>',
25: 		colspan: 2
26: 	},{
27: 		html: '<p>Cell C content</p>',
28: 		cellCls: 'highlight'
29: 	},{
30: 		html: '<p>Cell D content</p>'
31: 	}]
32: });

 

跟 column 相比最大的好處,
在於不限定寬度時,其欄位會隨著內容大小而縮放,
比較不會有字串被截掉的危險。

 

 

【layout: "form"】

這個 layout 也很常用,
在時常交手的情況下,得到許多有些慘痛的經驗(何),
以下條列幾項:

  • 假如發現 button, combo box 等控制項,設定了 label 屬性但是都無法顯示時,可能就是因為沒有包在 form layout 中。
  • 當發現某些控制項的 side-tips 無法顯示時,原因同上。
  • 當在 IE 中發現 combo box 的底線不見時,原因同上。(參考這篇)

 

但我不懂,為什麼不是這個 layout 就會出現這些現象啊?
可能要 trace 一下 code 才知道吧......= = 

 

 

 

  • Ext JS - Blog

 

留言 (0) | 引用 (0) | 人氣 () | 轉寄
此分類上一篇:[Extjs] File upload component | 主頁 | 此分類下一篇:[Extjs] How to modify html content of panel
引用 (你可以針對此文寫一篇屬於自己的blog/想法,並給作者一個通告)
引用
留言 (0筆)
發表你的留言 (字數限制 最多 2000 個中文字)
私密留言: 是 否
Name:





是 否
內容:
系統公告
系統工具


Sylvia 小檔案
個人圖檔
ID:csylvia
暱稱:Sylvia
地區:臺北市
  • 訂閱 |
    • 我要訂閱此部落格的
    • 日記
    • 網誌
    • 相簿
  • 好友 |
    • 好友功能
    • 觀看好友列表
    • 觀看人緣列表
  • 人氣 |
  • 簡介 

文章分類
  • 生活資訊 (6)
    • 螢養保健 (11)
    • 小辭典 (13)
    • 飲食美味 (2)
    • 美容美髮 (2)
    • 體操按摩 (5)
    • 有用資訊 (10)
  • 資源連結 (4)
    • 資源整理 (12)
    • 噗浪 (8)
    • 介紹&推薦 (45)
    • BLOG小玩意 (44)
  • 真人電影 (4)
    • 電影介紹&推薦 (20)
    • 西洋電影 (35)
    • 東洋電影 (2)
    • 國片電影 (4)
  • 語言筆記 (3)
    • 英文 (4)
    • 其他語言 (1)
    • 日文 (6)
  • 創作欣賞 (7)
    • 串珠飾品 (12)
    • 毛線球 (2)
    • 文章 (1)
    • 設計 (2)
    • 不織布 DIY (5)
    • 其他創作 (1)
    • CG (8)
  • 電視影集 (3)
    • 綜藝節目 (7)
    • 紀錄片/連續劇 (11)
    • 經典影集 (12)
  • 科技資訊 (19)
    • C/C++ (58)
    • AJAX (37)
    • Code::Blocks 相關 (29)
    • WM5.0 (26)
    • Symbian (26)
    • ActiveX (22)
    • AIR (2)
    • ASP (9)
    • JavaScript (29)
    • FLASH (9)
    • 網頁相關 (7)
    • PHP (3)
    • Database (3)
    • 其他 (29)
    • Install (2)
    • SOAP (1)
    • VLC (14)
    • Linux 相關 (2)
    • Batch File (8)
  • 動漫遊戲 (3)
    • 西洋動漫 (9)
    • 其他動漫 (1)
    • 日本動漫 (22)
  • Amway (3)
    • 其他筆記 (0)
    • 智囊團 (0)
    • 紀錄 (4)
  • 個人記事 (6)
  • 書籍藝文 (29)
  • 話題探討 (28)
csylvia的最新的回應
  • Wesley:
    好久以前的東西,都忘光...
  • Wesley:
    妳真是好人
  • jamie:
    我也有類似的經驗,...
  • 小豬仔:
    Hi Sylvia,...
  • Anne:
    NANA...
  • Anne:
    嗯. ...
  • Anne:
    有去租來看過. ...
  • Anne:
    不過"窈窕野...
  • 小鼻:
    哈~!妳超力害的 ...
  • 小豬仔:
    Hello...
網站集結
迷你窩 miniworld
aNobii 書櫃
珍惜台灣
天下雜誌綠色行動4力串聯貼紙



台灣是我的國家

台灣貨‧暢其流
該推就是要推

禁虐

搶救生命 棄兒不捨!
天下雜誌台灣不願面對的真相貼紙



Chine Free

力挺泰山串聯貼紙
天氣
台北
-
RANKING
Google PageRank Checker



Free PageRank Meter for blog.webs-tv.net/csylvia
人氣指數
當日人次:
累積人次:
網誌搜尋
搜尋:
參觀者
RSS 訂閱


RSS 訂閱
RSS2
ATOM
贊助商
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam 天空 本身立場。
POWERED BY
POWERED BY 天空部落
會員登入│免費註冊