Extjs:将数据保存在网格中或以xml格式存储在本地文件系统中

时间:2013-12-26 11:31:52

标签: xml extjs grid filesystems

我正在尝试将我的数据导出到网格或存储到xml文件并将其保存在文件系统中。请找到我正在使用的简单网格的代码。

Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: [ 'name', 'email', 'phone' ]
});


var userStore = Ext.create('Ext.data.Store', {
    model: 'User',
    data: [
        { name: 'Lisa', email: 'lisa@simpsons.com', phone: '555-111-1224' },
        { name: 'Bart', email: 'bart@simpsons.com', phone: '555-222-1234' },
        { name: 'Homer', email: 'home@simpsons.com', phone: '555-222-1244' },
        { name: 'Marge', email: 'marge@simpsons.com', phone: '555-222-1254' }
    ]
});



Ext.create('Ext.grid.Panel', {
    renderTo: Ext.getBody(),
    store: userStore,
    width: 400,
    height: 200,
    title: 'Application Users',
    columns: [
        {
            text: 'Name',
            width: 100,
            sortable: false,
            hideable: false,
            dataIndex: 'name'
        },
        {
            text: 'Email Address',
            width: 150,
            dataIndex: 'email',
            hidden: true
        },
        {
            text: 'Phone Number',
            flex: 1,
            dataIndex: 'phone'
        }
    ]
});

1 个答案:

答案 0 :(得分:0)

这应该相对简单,并且可以至少以两种方式处理。

  1. 从存储中检索所有记录并对其进行处理,以便您可以将所有记录数据的JSON序列化数组发布到服务器。在服务器上,处理JSON并将其转换为XML并将其保存在任何您喜欢的位置。大多数语言都有十亿个JSON-to-XML转换器,所以你应该能找到一些东西来帮助你。

  2. 假设您正在使用某种类型的远程代理来首先填充商店数据,您还可以使用与加载时相同的参数向服务器发送额外的请求。存储(例如,过滤器,排序信息,页面大小等)。然后,您的服务器端代码可以生成相同的记录,但不是将它们作为JSON返回,而是简单地将它们转换为XML并将文件保存在您喜欢的任何位置。

  3. 我会选择#2。它允许您重用大量代码,这些代码只需要以返回的格式进行区分。