Mysql ExtJs-从数据库中的记录创建网格

Mysql ExtJs-从数据库中的记录创建网格,mysql,datagrid,extjs4,Mysql,Datagrid,Extjs4,我使用的是ExtJS4.2,我在MySql数据库中有一些记录。我的问题是:如何创建一个网格来显示数据库中的记录? 我尝试在servlet中使用ResultSet从数据库中检索记录,但我不确定如何继续 如何使用数据库中的记录填充网格中的字段? 我是ExtJS新手,我发现很难找到解决方案。这是否与存储字段有关?如果是这样,我如何实现上述要求?您需要创建存储,绑定到网格,然后从服务器加载数据。当然,您需要此ExtJS4的后端,但不提供任何用于处理数据库的工具 例如(): 其主要思想是-模型用于定义记录

我使用的是ExtJS4.2,我在MySql数据库中有一些记录。我的问题是:如何创建一个网格来显示数据库中的记录? 我尝试在servlet中使用ResultSet从数据库中检索记录,但我不确定如何继续

如何使用数据库中的记录填充网格中的字段?
我是ExtJS新手,我发现很难找到解决方案。这是否与
存储
字段有关?如果是这样,我如何实现上述要求?

您需要创建存储,绑定到网格,然后从服务器加载数据。当然,您需要此ExtJS4的后端,但不提供任何用于处理数据库的工具 例如():

其主要思想是-模型用于定义记录的结构和验证(了解它),存储-用于存储和获取(通过解析来自服务器或本地定义数据的响应)与模型结构匹配的记录(),最后grid处理一些事件(如“加载”或“刷新”),并基于grids列Defention()更新行

Ext.onReady(function(){
    Ext.define('Book',{
        extend: 'Ext.data.Model',
        proxy: {
            type: 'ajax',
            reader: 'xml'
        },
        fields: [
            // set up the fields mapping into the xml doc
            // The first needs mapping, the others are very basic
            {name: 'Author', mapping: '@author.name'},
            'Title', 'Manufacturer', 'ProductGroup'
        ]
    });

    // create the Data Store
    var store = Ext.create('Ext.data.Store', {
        model: 'Book',
        autoLoad: true,
        proxy: {
            // load using HTTP
            type: 'ajax',
            url: 'sheldon.xml',
            // the return will be XML, so lets set up a reader
            reader: {
                type: 'xml',
                // records will have an "Item" tag
                record: 'Item',
                idProperty: 'ASIN',
                totalRecords: '@total'
            }
        }
    });

    // create the grid
    Ext.create('Ext.grid.Panel', {
        store: store,
        columns: [
            {text: "Author", flex: 1, dataIndex: 'Author'},
            {text: "Title", width: 180, dataIndex: 'Title'},
            {text: "Manufacturer", width: 115, dataIndex: 'Manufacturer'},
            {text: "Product Group", width: 100, dataIndex: 'ProductGroup'}
        ],
        renderTo:'example-grid',
        width: 540,
        height: 200
    });
});