01.12.2010, 01:28
|
Аспирант
|
|
Регистрация: 31.03.2009
Сообщений: 81
|
|
grid.store = waitersStore;// <-а только так
|
|
01.12.2010, 01:34
|
Интересующийся
|
|
Регистрация: 30.11.2010
Сообщений: 19
|
|
Объясню для чего я это затеял (может найдется другое решение)
Окно у меня имеет разметку border.
На окне имеется выдвижная панель, которая имеет
region : 'east'
и выдвигается влево. Вместе с ней изменяет свои размеры и grid который имеет region : 'center'.
Проблема в том, что у меня 8 grid'ов, а
region : 'center'
актуален только для одного, поэтому когда панель меняет свои размеры остальные grid'ы свои размеры не меняют.
Например у грида Клиенты стоит region center, когда я выбираю таблицу официанты (все остальные таблицы невидимы) она уже не меняет свои размеры вместе с панелью.
Это мне необходимо устранить.
|
|
01.12.2010, 01:40
|
Аспирант
|
|
Регистрация: 31.03.2009
Сообщений: 81
|
|
блин,
oGrid.reconfigure( Ext.data.Store store, Ext.grid.ColumnModel colModel )
|
|
01.12.2010, 01:46
|
Аспирант
|
|
Регистрация: 31.03.2009
Сообщений: 81
|
|
у тебя есть Viewport c layout:'border'
Viewport имеет items Ext.Panel({region: 'east'})
создай еще один Ext.Panel({region:'center'}) и запихни в него свои таблицы
и по идее, меняется размер панели, и будут подгоняться таблицы внутри панели.
Думаю, ты просто не до конца продумал свой layout и пытаешься решить проблему совсем не теми методами. ну тебе видее
|
|
01.12.2010, 11:56
|
Интересующийся
|
|
Регистрация: 30.11.2010
Сообщений: 19
|
|
Попробовал реализовать то, что предложил underW. Но, к сожалению, таблицы не меняют свои размеры вместе с панелью, только если установить у панели layout : 'border', а у таблицы region : 'center', но опять же изменять размеры будет только одна таблица.
|
|
01.12.2010, 12:09
|
Аспирант
|
|
Регистрация: 31.03.2009
Сообщений: 81
|
|
покажи пример реализации.
и потом, ты знаешь что 'border' - это не единственный тип layout'a, например, можно поставить 'fit'.
Последний раз редактировалось underW, 01.12.2010 в 12:12.
|
|
01.12.2010, 12:53
|
Интересующийся
|
|
Регистрация: 30.11.2010
Сообщений: 19
|
|
Вот задается panel1 cо всеми гридами:
var panel1 = new Ext.Panel({
layout : 'border',
//autoScroll : true,
split : true,
region : 'center',
items : [
grid,
waitersGrid,
stolikiGrid,
bludaGrid,
napitkiGrid,
zakaziGrid,
zakaziBludGrid,
zakaziNapitkovGrid,
]
});
Вот задается panel2 с datepicker:
var datePickerPanel = new Ext.Panel({
region : 'east',
title : 'Дата и время',
collapsible : true,
split : true,
// margins : '3 0 3 3',
//cmargins : '3 3 3 3',
width : 204,
items : [datepicker]
});
Вот главное окно:
var win = new Ext.Window ({
id : 'mainWindow',
title : 'Ресторан "Рауль Дьюк"',
height : 360,
width : 935,
layout : 'border',
//autoScroll : true,
modal : true,
border : true,
closabled : false,
//region : 'center',
plain : true,
resizable : false,
collapsible : true,
items : [
winItems // эти две панели
],
tbar : mainToolBar
})
Вот грид Клиенты:
var grid = new Ext.grid.EditorGridPanel({
region : 'center',
x : 0, //задаем координаты расположения grid
y : 0,
title : 'Клиенты', /*'Клиенты'*/
id : 'myGrid',
height : 300,
width : 716,
trackMouseOver : false,
frame : true,
style : {visibility : 'visible'},
columnLines : true,
stripeRows : true,
viewConfig: {
forceFit:true
},
bbar : toolBar,
store : jsonStore, /*jsonStore*/
columns :
[
new Ext.grid.RowNumberer(),
{header : '№',/*hidden : true,*/dataIndex: 'id_klients'},
{header : 'Фамилия', sortable: true, dataIndex: 'surname', editor: textField},
{header : 'Имя', dataIndex: 'name', editor : textField},
{header : 'Отчество', dataIndex: 'patronymic', editor : textField},
{header : 'Дата', sortable: true, dataIndex: 'date', editor: date_editor, renderer : Ext.util.Format.dateRenderer('d/m/Y')},
{header : 'Номер столика',sortable: true, dataIndex: 'id_stolika',editor : stolik_edit},
{header : 'Официант', dataIndex: 'waiters_name', editor: waiters_edit}
]
});
Вот таблица официантов:
var waitersGrid = new Ext.grid.EditorGridPanel({
region : 'center',
id : 'waitersGrid',
//region : 'center',
title : 'Официанты',
height : 300,
width : 716,//716
frame : true,
columnLines : true,
stripeRows : true,
x : 0,
y : 0,
viewConfig: {
forceFit:true
},
style : {visibility : 'hidden'},
bbar : toolBarWaiters,
store : waitersStoreDB,
columns : [
new Ext.grid.RowNumberer(),
{header : 'id', dataIndex : 'id_waiters'},
{header : 'Имя официанта', dataIndex : 'waiters_name', editor: textField},
{header : 'Стаж работы', dataIndex : 'stazh', editor : numberField}
]
});
|
|
01.12.2010, 13:34
|
Аспирант
|
|
Регистрация: 31.03.2009
Сообщений: 81
|
|
глянь на вот это, может это подойдет:
Ext.onReady(
function(){
Ext.Msg.alert("1", "2");
var oFirstGrid = new Ext.grid.GridPanel({
title: 'oFirstGrid',
store :[] ,
flex :1,
columns : [
{header:"one"},
{header:"two"},
{header:"three"}],
viewConfig: {
forceFit: true
}})
var oSecondGrid = new Ext.grid.GridPanel({
title: 'oSecondGrid',
flex :1,
store :[] ,
columns : [
{header:"one"},
{header:"two"},
{header:"three"}],
viewConfig: {
forceFit: true
}})
var oThreeGrid = new Ext.grid.GridPanel({
title: 'oThreeGrid',
flex :1,
store :[] ,
columns : [
{header:"one"},
{header:"two"},
{header:"three"}],
viewConfig: {
forceFit: true
}})
var oEastPanel = new Ext.Panel({
region : 'east',
title : "oEastPanel",
width : 200,
split : true
})
var oCenterPanel = new Ext.Panel({
region : 'center',
title : "oCenterPanel",
layout:'vbox',
layoutConfig: {
align : 'stretch',
pack : 'start',
},
items: [
oFirstGrid,oSecondGrid, oThreeGrid
]
})
new Ext.Viewport({
title : 'viewPort',
layout : 'border',
items :[oEastPanel, oCenterPanel]
})
})
двигаем oEastPanel - автоматически меняется размер таблиц в oCenterPanel.
|
|
01.12.2010, 13:57
|
Интересующийся
|
|
Регистрация: 30.11.2010
Сообщений: 19
|
|
Спасибо за помощь
Все решилось намного проще:
у всех таблиц я установил anchor : '100%' и теперь они меняют свои размеры относительно контейнера, т.е. относительно панели, так что спасибо за идею с панелью
|
|
06.12.2010, 23:19
|
|
Профессор
|
|
Регистрация: 19.12.2009
Сообщений: 164
|
|
__________________
"Helo, word!" - 17 errors 56 warnings
|
|
|
|