如何删除商店extjs中的重复值

Posted

技术标签:

【中文标题】如何删除商店extjs中的重复值【英文标题】:How to remove the duplicate value in the store extjs 【发布时间】:2013-06-03 18:33:48 【问题描述】:

我想删除此商店中的重复值。

有时,网址会返回一些重复值,我怎样才能删除重复值并仅列出该值 1 次?

var input1store = new Ext.data.Store(
    fields: [name: 'name'],
    proxy:
        type: 'ajax',
        url: 'www.requesturl.com?format=json&source1',
        reader: 
            type: 'json',
            root: 'xml.result'
        
    ,
    autoLoad:false,
    sorters: [property: 'name', direction: 'asc']
);

我根据您的建议编写的代码,但仍然无法正常工作。 Input1store2 应该只包含唯一值。

var input1storeArray = [];
var input1store = new Ext.data.Store(
fields: [name: 'name'],
proxy:
    type: 'ajax',
    url: 'www.requesturl.com?format=json&source1',
    reader: 
        type: 'json',
        root: 'xml.result'
    
,
autoLoad:false,
sorters: [property: 'name', direction: 'asc'],
listeners: 
  load: function(store)
input1storeArray = Ext.Array.unique(store.getRange());

  
);


var input1store2 = new Ext.data.SimpleStore(
field = ['name'],
data =  input1storeArray 
);

【问题讨论】:

【参考方案1】:

我认为没有任何内置功能。您需要在模型级别强制执行它 - 使该字段唯一并处理错误,或者加载商店,按该字段排序并检查比较最后一个和下一个的所有记录。

【讨论】:

我已尝试根据您在此处的建议进行操作。但我无法让它发挥作用。有没有可能你给我一个例子或一个快速代码。谢谢 你能把你的代码贴出来,我会尽力帮你找出错误的吗? 我已经更新了上面的问题,包括收集唯一值的代码,但它似乎不起作用。

以上是关于如何删除商店extjs中的重复值的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS:如何将一个商店的记录插入另一个商店?

如何在 Extjs 网格中禁用删除图标

如何在 extraParams 商店 extjs 上设置动态值

如何从 ExtJS 商店打印(或警告)值?

从 ExtJs 4.1 存储中删除记录时会触发哪些事件

如何在下一个请求中删除 extjs 中的动态参数?