Показать сообщение отдельно
  #1 (permalink)  
Старый 29.03.2012, 11:07
Новичок на форуме
Отправить личное сообщение для tigeralhimik Посмотреть профиль Найти все сообщения от tigeralhimik
 
Регистрация: 29.03.2012
Сообщений: 3

Есть Ext.grid.Panel. Как в store передать параметр?
Доброе утро!
Есть 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();
    }



  }
);
Ответить с цитированием