2013-06-23 1 views
0

У меня есть этот простой код:Как получить отредактированные данные из сетки свойств extsjs?

var store = { 
    "(name)": "My Object", 
    "Created": Ext.Date.parse('10/15/2006', 'm/d/Y'), 
    "Available": false, 
    "Version": 0.01, 
    "Description": "A test object" 
} 


Ext.create('Ext.grid.property.Grid', { 
    title: 'Properties Grid', 
    width: 300, 
    renderTo: Ext.getBody(), 
    source: store, 
    dockedItems: 
    [{ 
     xtype: 'toolbar', 
     dock: 'bottom', 
     ui: 'footer', 
     items: ['->', { 
      //iconCls: 'icon-save', 
      text: 'Sync', 
      scope: this, 
      // handler: this.onSync 
     }] 
    }] 
}); 

панель выглядит следующим образом:

enter image description here

Мое приложение использует аналогичные сетки, единственное отличие состоит в том, что переменная store создается динамически (, но имеет аналогичную структуру), и я als o есть кнопка sync, которая должна сохранять любые изменения в поле value сетки.

На данный момент поле значения можно редактировать, но не сохранять в любом месте. Я пытался добавить событие на кнопку sync, чтобы получить все строки из value и обновить базу данных.

Может кто-нибудь сказать мне, шаг за шагом, что добавить в property.Grid «s кода, так что, когда я нажимаю sync было бы отправить все values через AJAX на мой php file, что будет делать синхронизацию с базой данных?

Благодаря

ответ

1

Нечто подобное должны сделать трюк:

{ 
    text: 'Sync', 
    handler: function() { 
     // get values 
     var gridvalues = this.up('propertygrid').getSource(); 
     // send AJAX request 
     Ext.Ajax.request({ 
      url: 'somephpurl...', 
      params: gridvalues 
     }); 
    } 
} 

Документы, кстати, для них являются следующим:

Получить сетки свойства значения: http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.grid.property.Grid-method-getSource

Создать запрос AJAX: http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Ajax-method-request

+0

Я получаю сообщение об ошибке: 'this.up не является функцией'. Что такое «свойствоgrid»? – Brian

+0

Как выглядит ваш код? Это отлично работает для меня: http://jsfiddle.net/existdissolve/wMcQk/46/ – existdissolve

+0

«propertygrid» - это xtype Ext.grid.property.Grid: http://docs.sencha.com/extjs/4.2 0,1/#!/апи/Ext.grid.property.Grid – existdissolve