【问题标题】:ExtJS: 2 ajax store, 1 with an extra rowExtJS:2 个 ajax 存储,1 个额外的行
【发布时间】:2016-08-13 15:58:48
【问题描述】:

我有这个代码:

Ext.define('storeBusiness',{
    extend: 'Ext.data.Store',
    autoLoad: true,
    autoSync: true,
    model: 'Business',
    proxy: {
        type: 'ajax',
        api: {
            read: '../crud/ler_filter.php?db='+database+'&tbl=mercados',
            create: '../crud/criar.php?db='+database+'&tbl=mercados',
            update: '../crud/update.php?db='+database+'&tbl=mercados',
            destroy: '../crud/apagar.php?db='+database+'&tbl=mercados'
        },
        reader: {
            type: 'json',
            root: 'rows'
        },
        writer: {
            type:'json'
        }
    }
});

var storeBusinessCombo = Ext.create('storeBusiness');

var storeBusiness = Ext.create('storeBusiness');

storeBusiness.add({id: 0, business: "All"});

我有 2 个网格。一个有 storeBusiness,另一个有 storeProducts
工作方式是当我单击业务网格时,它会过滤产品网格,以便显示该业务的产品。 在业务网格上,它具有从数据库中获取记录的 storeBusiness。我想从数据库中获取所有业务并再添加一条记录(名为“All”)而不将其写入数据库。
我不想将“全部”添加到数据库中,因为在产品的网格中,我希望有一个组合框,其中包含没有“全部”记录的所有业务 (storeBusinessCombo)。
有谁知道我该怎么做?
(上面的代码没有做我想做的事,storeBusiness 显示了网格中没有“All”的所有业务)

重要提示:如果 Ext.define('storeBusiness', 具有以下类型的代理,则此方法有效:'memory'

【问题讨论】:

标签: ajax extjs local store


【解决方案1】:

想到了两种方法:

  1. 加载后将“all”记录添加到存储中并且不同步,因此 记录不会发送到服务器。
  2. 使用内存代理,检索 通过 Ajax 请求记录业务,并通过其数据配置将它们分配给商店。

【讨论】:

  • 谢谢。我对第二种方法感兴趣。我知道如何创建内存代理存储,但是如何将检索到的记录分配给该存储?
  • 我从数据库中获取所有业务的 ajax 请求有问题。如何将所有记录放入一个变量中?
  • 我不需要更多帮助,谢谢。这个页面是为我做的 :) stackoverflow.com/questions/12408952/…
【解决方案2】:

为了解决这个问题,我已经做了:

  1. Ext.define('storeBusiness',{ 放到autoLoad: false,
  2. 输入这段代码:

    var storeBusinessCombo = Ext.create('storeBusiness', {autoLoad: true});
    
    var storeBusiness = Ext.create('storeBusiness');
    
    storeBusiness.on('beforeload', function(){
        storeBusiness.loadData([{id: 0, business: "All"}]);
    }
    

    你应该放

    storeBusiness.load({addRecords: true});
    

    当你想加载storeBusiness时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 2018-06-28
    • 2015-12-22
    • 2020-09-10
    • 2013-05-28
    • 2011-05-28
    相关资源
    最近更新 更多