extjs兩個(gè)tbar問(wèn)題探討
更新時(shí)間:2013年08月08日 15:41:48 作者:
知道每個(gè)panel都有一個(gè)tbar(top bar 上面工具欄) ,bbar(bottom bar 底部工具欄)下面為大家介紹下extjs的兩個(gè)tbar問(wèn)題,感興趣的朋友可以參考下
版本:extjs3.4
接觸過(guò)extjs的同志們都知道每個(gè)panel都有一個(gè)tbar(top bar 上面工具欄) ,bbar(bottom bar 底部工具欄)
大家做查詢(xún)頁(yè)面,一般都是啥樣子的?
最基本的是一個(gè)table,來(lái)顯示數(shù)據(jù)。
再進(jìn)一步:
添加對(duì)數(shù)據(jù)的操作,比如添加按鈕
再進(jìn)一步:
一般查詢(xún)都會(huì)有查詢(xún)條件,查詢(xún)條件可以快速定位。
那對(duì)于extjs來(lái)說(shuō),extjs中封裝了很多組件,其中組件的概念很類(lèi)似于java swing,比如panel,button,component,container等這種東西。
對(duì)于上述的查詢(xún)頁(yè)面,做java開(kāi)發(fā),相比一點(diǎn)問(wèn)題都沒(méi)有,三個(gè)table,或三個(gè)div即可。
那對(duì)于extjs呢?
其實(shí)extjs也灰常簡(jiǎn)單,顯示數(shù)據(jù)的,使用gird組件,查詢(xún)按鈕,使用button組件,查詢(xún)條件,文本格式啊,但是若把添加按鈕和查詢(xún)搜索條件放在一個(gè)tbar上,這樣也可以,至少功能實(shí)現(xiàn)了。
但是一切都是為客戶(hù)著想,著想最明顯的行為:把用戶(hù)想成傻瓜,一切傻瓜式操作。比如傻瓜式相機(jī),傻瓜式裝系統(tǒng),不是挺火的啊。
那為了信達(dá)雅,到底如何把執(zhí)行按鈕和查詢(xún)搜索條件分別放在兩個(gè)tbar上呢?
網(wǎng)上有一種在grid中添加兩個(gè)tbar的代碼,對(duì)于項(xiàng)目著急的新手來(lái)說(shuō),本人有個(gè)簡(jiǎn)單的做法,一樣實(shí)現(xiàn)信達(dá)雅:
最簡(jiǎn)單的做法是:使用listeners監(jiān)聽(tīng)器方式。
第一:把執(zhí)行按鈕,比如添加按鈕,放在panel自帶的tbar上。
第二:自定義工具欄,在其上放查詢(xún)搜索條件。
第三:自定義工具欄監(jiān)聽(tīng)panel自帶的tbar【即第二監(jiān)聽(tīng)第一】
代碼如下:
tbar:new Ext.Toolbar({items:['-']}),
//把查詢(xún)工具欄寫(xiě)在按鈕工具欄下面
listeners: {
render: function(){
queryBar.render(this.tbar);
}
}
//我們項(xiàng)目部分主要代碼如下:
mnguser.panel = new Ext.Panel({
id :'mngmenuDiv',
title : '用戶(hù)管理',
region : 'center',
layout : 'fit',
style : 'padding:3px;',
bodyBorder : true,
border : true,
items : _grid,
tbar:new Ext.Toolbar({items:['-']}),
//把查詢(xún)工具欄寫(xiě)在按鈕工具欄下面
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ò)extjs的同志們都知道每個(gè)panel都有一個(gè)tbar(top bar 上面工具欄) ,bbar(bottom bar 底部工具欄)
大家做查詢(xún)頁(yè)面,一般都是啥樣子的?
最基本的是一個(gè)table,來(lái)顯示數(shù)據(jù)。
再進(jìn)一步:
添加對(duì)數(shù)據(jù)的操作,比如添加按鈕
再進(jìn)一步:
一般查詢(xún)都會(huì)有查詢(xún)條件,查詢(xún)條件可以快速定位。
那對(duì)于extjs來(lái)說(shuō),extjs中封裝了很多組件,其中組件的概念很類(lèi)似于java swing,比如panel,button,component,container等這種東西。
對(duì)于上述的查詢(xún)頁(yè)面,做java開(kāi)發(fā),相比一點(diǎn)問(wèn)題都沒(méi)有,三個(gè)table,或三個(gè)div即可。
那對(duì)于extjs呢?
其實(shí)extjs也灰常簡(jiǎn)單,顯示數(shù)據(jù)的,使用gird組件,查詢(xún)按鈕,使用button組件,查詢(xún)條件,文本格式啊,但是若把添加按鈕和查詢(xún)搜索條件放在一個(gè)tbar上,這樣也可以,至少功能實(shí)現(xiàn)了。
但是一切都是為客戶(hù)著想,著想最明顯的行為:把用戶(hù)想成傻瓜,一切傻瓜式操作。比如傻瓜式相機(jī),傻瓜式裝系統(tǒng),不是挺火的啊。
那為了信達(dá)雅,到底如何把執(zhí)行按鈕和查詢(xún)搜索條件分別放在兩個(gè)tbar上呢?
網(wǎng)上有一種在grid中添加兩個(gè)tbar的代碼,對(duì)于項(xiàng)目著急的新手來(lái)說(shuō),本人有個(gè)簡(jiǎn)單的做法,一樣實(shí)現(xiàn)信達(dá)雅:
最簡(jiǎn)單的做法是:使用listeners監(jiān)聽(tīng)器方式。
第一:把執(zhí)行按鈕,比如添加按鈕,放在panel自帶的tbar上。
第二:自定義工具欄,在其上放查詢(xún)搜索條件。
第三:自定義工具欄監(jiān)聽(tīng)panel自帶的tbar【即第二監(jiān)聽(tīng)第一】
代碼如下:
復(fù)制代碼 代碼如下:
tbar:new Ext.Toolbar({items:['-']}),
//把查詢(xún)工具欄寫(xiě)在按鈕工具欄下面
listeners: {
render: function(){
queryBar.render(this.tbar);
}
}
//我們項(xiàng)目部分主要代碼如下:
mnguser.panel = new Ext.Panel({
id :'mngmenuDiv',
title : '用戶(hù)管理',
region : 'center',
layout : 'fit',
style : 'padding:3px;',
bodyBorder : true,
border : true,
items : _grid,
tbar:new Ext.Toolbar({items:['-']}),
//把查詢(xún)工具欄寫(xiě)在按鈕工具欄下面
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)文章
Extjs4 消息框去掉關(guān)閉按鈕(類(lèi)似Ext.Msg.alert)
類(lèi)似Ext.Msg.alert();但沒(méi)有關(guān)閉按鈕,由于Extjs4消息框中的關(guān)閉按鈕,沒(méi)有執(zhí)行回調(diào)函數(shù),點(diǎn)擊關(guān)閉按鈕后,直接關(guān)閉窗口,接下來(lái)為大家詳細(xì)介紹下去掉關(guān)閉按鈕2013-04-04ExtJS 2.0 GridPanel基本表格簡(jiǎn)明教程
ExtJS中的表格功能非常強(qiáng)大,包括了排序、緩存、拖動(dòng)、隱藏某一列、自動(dòng)顯示行號(hào)、列匯總、單元格編輯等實(shí)用功能。2010-05-05學(xué)習(xí)ExtJS TextField常用方法
ExtJS TextField常用方法2009-10-10Extjs Ext.MessageBox.confirm 確認(rèn)對(duì)話框詳解
顯示一個(gè)確認(rèn)對(duì)話框,用來(lái)代替JavaScript標(biāo)準(zhǔn)的confirm()方法,具有兩個(gè)按鈕“是”和“否”如果為其提供一個(gè)回調(diào)函數(shù),則該函數(shù)將在單擊按鈕后被調(diào)用(包括右上角的推出按鈕),所單擊按鈕的id將被作為唯一的參數(shù)傳遞到回調(diào)函數(shù)中。2010-04-04解決extjs grid 不隨窗口大小自適應(yīng)的改變問(wèn)題
在使用grid的時(shí)候窗口改變了但是grid卻不能自適應(yīng),下面有個(gè)不粗的解決方法,大家可以參考下2014-01-01Extjs4 類(lèi)的定義和擴(kuò)展實(shí)例
一般定義方式注意方法和函數(shù)的添加方式不同,具體定義步驟如下,感興趣的朋友可以參考下哈,感興趣的朋友可以了解下哈2013-06-06