2012-02-06 4 views
1

Я пытаюсь добавить панель инструментов в уже созданный макет. У меня есть коды как на панели инструментов и расположение, но я не знаю, как интегрировать в тожеКак добавить панель инструментов в мой макет в extjs?

Для моей панели

<script> 
Ext.onReady(function() { 
new Ext.Toolbar({renderTo: Ext.getBody(), 
items: [{ 
xtype: 'button', 
text: 'Menu Button', 
menu: [{ 
text: 'Better' 
}, { 
text: 'Good' 
}, { 
text: 'Best' 
}] 
},'->', { 
xtype: 'splitbutton', 
text: 'Split Button', 
menu: [{ 
text: 'Item One' 
}, { 
text: 'Item Two' 
}, { 
text: 'Item Three' 
}] 
},'', { 
xtype: 'cycle', 
showText: true, 
minWidth: 100, 
prependText: 'Quality: ', 
items: [{ 
text: 'High', 
checked: true 
}, { 
text: 'Medium' 
}, { 
text: 'Low' 
}] 
},] 
}); 
}); 
</script> 

и для моего макета, я

<script> 
var viewport = new Ext.Viewport({ 
layout: "border", 
defaults: { 
bodyStyle: 'padding:10px;', 
}, 
items: [{ 
region: "north", 
html: 'North', 
margins: '5 5 5 5' 
}, { 
region: 'west', 
collapsible: true, 
title: 'Some Info', 
width: 200, 
html: 'West', 
margins: '0 0 0 5' 
}, { 
region: 'center', 
title: 'Our Info', 
html: 'Center', 
margins: '0 0 0 0' 
}, { 
region: 'east', 
collapsible: true, 
width: 200, 
title: 'Their Info', 
html: 'East', 
margins: '0 5 0 0' 
}, { 
region: 'south', 
title: 'Their Info', 
html: 'South', 
width: 200, 
margins: '5 5 5 5' 
}] 
}); 
</script> 

Как может Я использую панель инструментов на этой странице? Благодаря

@Justin, Вот мой полный код

var viewport = new Ext.Viewport({ 
layout: "border", 
tbar: new Ext.Toolbar({ 
//Toolbar config options 
items: [{ 
xtype: 'button', 
height: 27, 
text: 'Menu Button', 
menu: [{ 
text: 'Better' 
}, { 
text: 'Good' 
}, { 
text: 'Best' 
}] 
}, '->', 
{ 
xtype: 'splitbutton', 
text: 'Split Button', 
menu: [{ 
text: 'Item One' 
}, { 
text: 'Item Two' 
}, { 
text: 'Item Three' 
}] 
}, '', 
{ 
xtype: 'cycle', 
showText: true, 
minWidth: 100, 
prependText: 'Quality: ', 
items: [{ 
text: 'High', 
checked: true 
}, { 
text: 'Medium' 
}, { 
text: 'Low' 
}] 
}, ] 
}), 
defaults: { 
bodyStyle: 'padding:10px;', 
}, 
//layouf config 
tems: [{ 
region: "north", 
html: 'North', 
margins: '5 5 5 5' 
}, { 
region: 'west', 
collapsible: true, 
title: 'Some Info', 
width: 200, 
html: 'West', 
margins: '0 0 0 5' 
}, { 
region: 'center', 
title: 'Our Info', 
html: 'Center', 
margins: '0 0 0 0' 
}, { 
region: 'east', 
collapsible: true, 
width: 200, 
title: 'Their Info', 
html: 'East', 
margins: '0 5 0 0' 
}, { 
region: 'south', 
title: 'Their Info', 
html: 'South', 
width: 200, 
margins: '5 5 5 5' 
}] 
}); 

ответ

1

Вы должны быть в состоянии добавить панель инструментов в качестве опции конфигурации к просветляющему или TBAR вашей главной панели.

var viewport = new Ext.Viewport({ 
    layout: "fit",   
    items: [ 
    //We add one "main" panel that fills up entire Viewport 
    { 
     layout: "border", 
     defaults: { 
     bodyStyle: 'padding:10px;', 
     }, 
     tbar: new Ext.Toolbar({ 
     //your Toolbar config options 
     }), 
     items: [ 
     //your panels here 
     ] 
    } 
    ] 
    ... 

В этом случае вы хотели бы избавиться от конфигурации «renderTo» на панели инструментов.

+0

Эй, Джастин, Спасибо за ответ. я все еще застрял! Я новичок в extjs, поэтому я почти все еще не знаю, как это сделать. Я редактирую свой код, используя ваш ответ, но все еще не добившись прогресса. взгляните на мой полный код и напишите мне, если что-то не хватает. спасибо – Tony

+0

Tony - Скопируйте весь свой код, чтобы я мог видеть. Первое, что я вижу, это когда вы удалили опцию конфигурации renderTo, вы также удалили открытие «{». Помните, что вы создаете новую панель инструментов, которая принимает объект параметров конфигурации, поэтому вам нужен новый Ext.Toolbar ({// ваши параметры конфигурации}). – Justin

+0

, Спасибо за ваш ответ. Теперь этот код показывает мой макет, но пока не показывает мою панель инструментов. – Tony

Смежные вопросы