[img]http://i3.6.cn/cvbnm/58/27/cb/f01a39900b2a0d728a00e02f3c1d65de.jpg[/img]
如图,,但我点击labels这个splitButton里的那个add new label:下的textfield的时候(点击任何一个menu的item),不要让他上拉上去,而但鼠标点击外面的其他东西时,就上拉上去。这个怎么做?
里面的text1,text2,text3……是从数据库里捞出来的,你觉得用什么来装好呢?我的是用一个grid来装的,而且grid里加了个Ext.grid.CheckboxSelectionModel!
多谢了
我没有分了,分不够再加
[b]问题补充:[/b]
但是我的menu是这样写的哦
var menu= new Ext.menu.Menu({
items: [{text : 'Tag alarm(s) to:'},new Ext.menu.Adapter(grid),new Ext.menu.Adapter(searchpl)]
});
grid 是个grid,searchpl是个panel,
他们是不能加hideOnClick:false这个的呀,应该怎么做?
[b]问题补充:[/b]
很高兴再次遇到了你!
[b]问题补充:[/b]
我刚才按你说的那样做了,但还是不行哦,,
[code="js"]
Ext.namespace('Alarmprocessor.eventbrowser');
Alarmprocessor.eventbrowser.LabelsSplitButton=function(){
var grid = new Ext.grid.GridPanel({
hideOnClick:false,
trackMouseOver:false,
store: new Ext.data.JsonStore({
root : 'profileList',
storeId : 'profileListStore',
url : 'userprofile.do',
baseParams : {
method : 'getUserProfileList'
},
fields : ['config']
}),
columns: [{header: "label", dataIndex: 'labeltext'}],
//sm: new Ext.grid.RowSelectionModel({singleSelect:true}),
hideHeaders :true,
width:150,
height:100
});
var searchText=new Ext.form.TextField({
hideLabel :true
});
var searchpl=new Ext.Panel({
hideOnClick:false,
layout:'column',
items:[searchText,{html : '<img id="addbtn" width=25 heigth=30 src="images/add-btn.jpg"/>'}]
});
// onClick=addLabels()
// Ext.getCmp('addbtn').on('onclick',function(){
// addLabels();
// });
// function addLabels(){
// Ext.Msg.alert("test","testtt");
// };
// addTrigger.on('ontriggerclick',function(){
// Ext.Msg.alert("ok","abc");
// });
// var colLabelpl=new Ext.Panel({
// layout:'form',
// id:'allpalabels',
// items:[{text : 'Tag alarm(s) to:'},grid,'-',addTrigger]
// });
// var c = new Ext.Panel({
// id: 'allpalabels',
// items: {
// layout: 'form',
// border: false,
// items: [{text : 'Tag alarm(s) to:'},grid,'-',addTrigger]
// }
// });
var menu= new Ext.menu.Menu({
items: [{hideOnClick:false,text : 'Tag alarm(s) to:'},new Ext.menu.Adapter(grid),new Ext.menu.Adapter(searchpl)]
});
menu.on('itemclick',function(baseItem,e){
//Ext.getCmp('labelsplit').fireEvent("arrowclick", Ext.getCmp('labelsplit'), e);
Ext.getCmp('labelsplit').fireEvent("arrowclick", Ext.getCmp('labelsplit'), e);
//Ext.Msg.alert("aaa","bbbb");
});
Alarmprocessor.eventbrowser.AlarmStatusSplitButton.superclass.constructor.call(this, {
text: 'Labels',
id:'labelsplit',
handler : function onButtonClick(btn) {
Ext.Msg.alert('Button Click', 'You clicked the "{0}" button.',
btn.text);
},
menu:menu
});
}
Ext.extend(Alarmprocessor.eventbrowser.LabelsSplitButton, Ext.SplitButton)
[/code]
代码是这样的
[b]问题补充:[/b]
效果是一样的,就是但点击里面的items的时候,就不会上拉,但点击边边的话,就上拉,其实这个不要紧,最重要的是
[code="js"] var searchText=new Ext.form.TextField({
hideLabel :true
});
var searchpl=new Ext.Panel({
hideOnClick:false,
layout:'column',
items:[searchText,{html : ''}] [/code]
点击这个textfield时不要让他上拉就行了,但是这个就是要上啦,加了hideOnClick:false还是一样,很感谢你!
[b]问题补充:[/b]
哦,,我再看看。。谢谢你!