Доброе утро!
Есть Ext.grid.Panel. Как в store передать в качестве параметра дату из календаря dateMenu с формы?
вот код:
var gridDisloc = Ext.define('gridDisloc',
{
extend: 'Ext.grid.Panel',
alias: 'widget.tablegrid',
requires:['*'],
initComponent: function() {
var pointer = this;
var fileWindow = new FileForm;
var selectedToEdit = null;
var editAction = Ext.create('Ext.Action',
{
icon: 'resources/themes/images/default/dd/drop-add.gif', // Use a URL in the icon config
text: 'Редактировать запись',
handler: function(widget, event) {
selectedToEdit = pointer.getSelectionModel().getSelection()[0];
var editWindow = new EditForm (selectedToEdit);
editWindow.display();
}
}
);
var dateMenu = Ext.create('Ext.menu.DatePicker',
{
handler: function(dp, date) {
storedislocdt.load();
}
}
);
var contextMenu = Ext.create('Ext.menu.Menu',
{
items:[editAction]
}
);
var filterFrom = Ext.create('Ext.form.field.Date',
{
xtype: 'datefield',
id: 'From',
name: 'From'
}
);
var d = new Date();
var day = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
filterFrom = year + "-" + month + "-" + day;
Ext.apply(this,
{
columnLines: true,
editable: true,
store: storedislocdt,
title: 'Дислокации',
viewConfig: {
stripeRows: true,
listeners: {
itemcontextmenu: function(view, rec, node, index, e) {
e.stopEvent();
contextMenu.showAt(e.getXY());
return false;
}
}
},
columns:[
{
text: '#',
flex: 1,
sortable: true,
dataIndex: 'id',
width: 4
},
{
text: '№ Вагона',
flex: 1,
sortable: true,
dataIndex: 'Vagon'
},
{
text: 'Вагоновладелец',
flex: 1,
sortable: true,
dataIndex: 'IDOwner'
}
],
height: 900,
region: 'center',
layout: 'fit',
tbar:[
{
text: 'Выберите дату',
iconCls: 'calendar',
menu: dateMenu
},
{
text: 'Выборка',
tooltip: 'Выборка',
iconCls: 'add',
handler: function() {
searchBYDATE();
pointer.hide();
}
}, filterFrom
]
}
);
this.callParent();
function searchBYDATE() {
Ext.Ajax.request(
{
waitMsg: 'Пожалуйста, подождите',
url: 'names.php',
params: {
task: 'LISTINGDISLOCDT',
DT: dateMenu.getValue()
},
success: function(response) {
var result = eval(response.responseText);
switch (result) {
case 1:
Ext.MessageBox.alert('Успех', 'Запись добавлена');
//storestations.load();
pointer.hide();
break;
case 2:
Ext.MessageBox.alert('Успех', 'Запись обновлена');
//storestations.load();
pointer.hide();
break;
default:
Ext.MessageBox.alert('Упс', 'Возникла ошибка'+result);
}
},
failure: function (response) {
var result = response.responseText;
Ext.MessageBox.alert('Упс', 'Ошибка подключения к базе');
}
}
)
};
},
onSync: function() {
this.storedislocdt.sync();
}
}
);