【问题标题】:Sorting Data in a hasMany relation store Sencha Touch / ExtJS在 hasMany 关系存储 Sencha Touch / ExtJS 中对数据进行排序
【发布时间】:2015-02-20 21:48:29
【问题描述】:

我目前正在尝试在应用程序中保留一个排序存储的小节(在音乐意义上)。我正在努力使商店的排序功能正常工作。我有一个使用“索引”类别定义的模型。我的店铺也定义如下:

Ext.define('MusicNotationSoftware.store.Measures', {
extend: 'Ext.data.Store',

requires: [
    'Ext.ux.parse.data.proxy.Parse',
    'MusicNotationSoftware.model.Measure'
],

config: {
    model: 'MusicNotationSoftware.model.Measure',
    storeId: 'measuresStore',
    autoLoad: true,
    autoSync: true,
    proxy: {
        type: 'parse',
        url: 'https://api.parse.com/1/classes/Measure'
    },
    sorters: [
        {
            property: 'index',
            direction: 'ASC'
        }
    ],

由于措施属于声音,我最终打电话给

voice.measures()

获取与单个声音相关的所有度量。据我所知,这将返回一家包含所有措施的商店。

那么我的问题是,当我向商店添加度量时,保持此度量列表排序的最佳方法是什么?很明显,返回的商店不是上面定义的商店。

【问题讨论】:

    标签: sorting extjs sencha-touch


    【解决方案1】:

    当您在 Voice 中定义度量 hasMany 关联时,您应该能够在那里设置排序:

    hasMany:[
       {
           model:'MusicNotationSoftware.model.Measure',
           name:'measures',
           storeConfig: {
               sorters: [
                   { property: 'index', direction: 'ASC' }
               ]
           }
       }
    ]
    

    或类似的。

    【讨论】:

      【解决方案2】:

      您不必为度量定义存储。由于语音存储已经填充了度量,因为度量属于语音。

      你所要做的就是打电话

       voice.measures().sort('index', 'ASC') 
      

      这将对所有度量记录进行排序,并在索引字段上按升序对它们进行排序。

      【讨论】:

        【解决方案3】:

        根据 TomW 的回答。它应该是 storeConfig 而不是 store。

        hasMany:[
           {
               model:'MusicNotationSoftware.model.Measure',
               name:'measures',
               storeConfig :{
                   sorters: [
                       { property: 'index', direction: 'ASC' }
                   ]
               }
           }
        ]
        

        它对我有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-03
          • 1970-01-01
          • 1970-01-01
          • 2014-07-28
          相关资源
          最近更新 更多