extjs兩個tbar問題探討
更新時間:2013年08月08日 15:41:48 作者:
知道每個panel都有一個tbar(top bar 上面工具欄) ,bbar(bottom bar 底部工具欄)下面為大家介紹下extjs的兩個tbar問題,感興趣的朋友可以參考下
版本:extjs3.4
接觸過extjs的同志們都知道每個panel都有一個tbar(top bar 上面工具欄) ,bbar(bottom bar 底部工具欄)
大家做查詢頁面,一般都是啥樣子的?
最基本的是一個table,來顯示數(shù)據(jù)。
再進一步:
添加對數(shù)據(jù)的操作,比如添加按鈕
再進一步:
一般查詢都會有查詢條件,查詢條件可以快速定位。
那對于extjs來說,extjs中封裝了很多組件,其中組件的概念很類似于java swing,比如panel,button,component,container等這種東西。
對于上述的查詢頁面,做java開發(fā),相比一點問題都沒有,三個table,或三個div即可。
那對于extjs呢?
其實extjs也灰常簡單,顯示數(shù)據(jù)的,使用gird組件,查詢按鈕,使用button組件,查詢條件,文本格式啊,但是若把添加按鈕和查詢搜索條件放在一個tbar上,這樣也可以,至少功能實現(xiàn)了。
但是一切都是為客戶著想,著想最明顯的行為:把用戶想成傻瓜,一切傻瓜式操作。比如傻瓜式相機,傻瓜式裝系統(tǒng),不是挺火的啊。
那為了信達雅,到底如何把執(zhí)行按鈕和查詢搜索條件分別放在兩個tbar上呢?
網(wǎng)上有一種在grid中添加兩個tbar的代碼,對于項目著急的新手來說,本人有個簡單的做法,一樣實現(xiàn)信達雅:
最簡單的做法是:使用listeners監(jiān)聽器方式。
第一:把執(zhí)行按鈕,比如添加按鈕,放在panel自帶的tbar上。
第二:自定義工具欄,在其上放查詢搜索條件。
第三:自定義工具欄監(jiān)聽panel自帶的tbar【即第二監(jiān)聽第一】
代碼如下:
tbar:new Ext.Toolbar({items:['-']}),
//把查詢工具欄寫在按鈕工具欄下面
listeners: {
render: function(){
queryBar.render(this.tbar);
}
}
//我們項目部分主要代碼如下:
mnguser.panel = new Ext.Panel({
id :'mngmenuDiv',
title : '用戶管理',
region : 'center',
layout : 'fit',
style : 'padding:3px;',
bodyBorder : true,
border : true,
items : _grid,
tbar:new Ext.Toolbar({items:['-']}),
//把查詢工具欄寫在按鈕工具欄下面
listeners: {
render: function(){
queryBar.render(this.tbar);
}
}
});
mnguser.body = Ext.extend(Ext.Viewport, {
layout : 'border',
initComponent : function() {
this.content = mnguser.panel;
menuOpt(this.content); //在自帶tbar上添加執(zhí)行按鈕
Ext.apply(this, {
items : [this.content]
});
mnguser.body.superclass.initComponent.call(this);
}
});
效果如下:
接觸過extjs的同志們都知道每個panel都有一個tbar(top bar 上面工具欄) ,bbar(bottom bar 底部工具欄)
大家做查詢頁面,一般都是啥樣子的?
最基本的是一個table,來顯示數(shù)據(jù)。
再進一步:
添加對數(shù)據(jù)的操作,比如添加按鈕
再進一步:
一般查詢都會有查詢條件,查詢條件可以快速定位。
那對于extjs來說,extjs中封裝了很多組件,其中組件的概念很類似于java swing,比如panel,button,component,container等這種東西。
對于上述的查詢頁面,做java開發(fā),相比一點問題都沒有,三個table,或三個div即可。
那對于extjs呢?
其實extjs也灰常簡單,顯示數(shù)據(jù)的,使用gird組件,查詢按鈕,使用button組件,查詢條件,文本格式啊,但是若把添加按鈕和查詢搜索條件放在一個tbar上,這樣也可以,至少功能實現(xiàn)了。
但是一切都是為客戶著想,著想最明顯的行為:把用戶想成傻瓜,一切傻瓜式操作。比如傻瓜式相機,傻瓜式裝系統(tǒng),不是挺火的啊。
那為了信達雅,到底如何把執(zhí)行按鈕和查詢搜索條件分別放在兩個tbar上呢?
網(wǎng)上有一種在grid中添加兩個tbar的代碼,對于項目著急的新手來說,本人有個簡單的做法,一樣實現(xiàn)信達雅:
最簡單的做法是:使用listeners監(jiān)聽器方式。
第一:把執(zhí)行按鈕,比如添加按鈕,放在panel自帶的tbar上。
第二:自定義工具欄,在其上放查詢搜索條件。
第三:自定義工具欄監(jiān)聽panel自帶的tbar【即第二監(jiān)聽第一】
代碼如下:
復(fù)制代碼 代碼如下:
tbar:new Ext.Toolbar({items:['-']}),
//把查詢工具欄寫在按鈕工具欄下面
listeners: {
render: function(){
queryBar.render(this.tbar);
}
}
//我們項目部分主要代碼如下:
mnguser.panel = new Ext.Panel({
id :'mngmenuDiv',
title : '用戶管理',
region : 'center',
layout : 'fit',
style : 'padding:3px;',
bodyBorder : true,
border : true,
items : _grid,
tbar:new Ext.Toolbar({items:['-']}),
//把查詢工具欄寫在按鈕工具欄下面
listeners: {
render: function(){
queryBar.render(this.tbar);
}
}
});
mnguser.body = Ext.extend(Ext.Viewport, {
layout : 'border',
initComponent : function() {
this.content = mnguser.panel;
menuOpt(this.content); //在自帶tbar上添加執(zhí)行按鈕
Ext.apply(this, {
items : [this.content]
});
mnguser.body.superclass.initComponent.call(this);
}
});
效果如下:
相關(guān)文章
關(guān)于extjs treepanel復(fù)選框選中父節(jié)點與子節(jié)點的問題
實現(xiàn)帶有復(fù)選框的樹,選中父節(jié)點時,選中所有子節(jié)點。取消所有子節(jié)點時,才能取消根節(jié)點,感興趣的朋友可以了解下本文2013-04-04
extjs ColumnChart設(shè)置不同的顏色實現(xiàn)代碼
extjs為ColumnChart設(shè)置不同的顏色想必有很多朋友還是比較陌生的吧,接下來為大家詳細介紹下具體設(shè)置代碼,感興趣的朋友可以參考下哈2013-05-05
ExtJs 3.1 XmlTreeLoader Example Error
ExtJs 3.1的XmlTreeLoader例子折騰了我近一個下午加晚上,官方的例子沒有問題,可以加載xml的數(shù)據(jù),本地IIS死活不行2010-02-02
ExtJS Store的數(shù)據(jù)訪問與更新問題
ExtJS Store的數(shù)據(jù)訪問與更新問題,需要的朋友可以參考下。2010-04-04
解決Extjs 4 Panel作為Window組件的子組件時出現(xiàn)雙重邊框問題
Extjs的Panel和Window等組件在默認情況下是帶邊框的,通常情況下,單獨使用沒有什么關(guān)系,但是將Panel作為Window組件的子組件時就會出現(xiàn)雙重邊框的現(xiàn)象于是想辦法將兩重邊框去掉,變成單邊框,感興趣的朋友可以了解下2013-01-01
ExtJS下 Ext.Direct加載和提交過程排錯小結(jié)
基礎(chǔ)實一點,會有好處的,排錯的時候就體現(xiàn)出來了,下面就Ext.Direct做一些排錯筆記與大家一一分享,感興趣的朋友可以參考下哈2013-04-04

