1

我有这个简单的代码:

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
        }]
    }]
});

面板如下所示:

在此处输入图像描述

我的应用程序使用类似的网格,唯一的区别是store变量是动态创建的(但具有相似的结构),而且我还有一个按钮可以保存对网格字段sync的任何更改。value

到目前为止,值字段可以编辑,但当然不能保存在任何地方。我一直在尝试在sync按钮单击时添加一个事件,该事件将从数据库中获取所有行value并更新数据库。

谁能告诉我要在property.Grid's 的代码中添加什么,这样当我单击sync 它时,它会将所有valuesvia AJAX 发送到我的php file,这将与数据库同步?

谢谢

4

1 回答 1

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

于 2013-06-24T04:09:18.680 回答