2012-11-22 46 views
0

這是我的代碼我如何知道用戶更改了dir字符串和排序字符串?

var store = { 
     user_store: new Ext.data.Store({  
      autoLoad: false, 
      proxy: new Ext.data.HttpProxy({ 
       url: a/b/c 
      }), 
      remoteSort: true, 
      baseParams: { 
       dir: 'ASC', 
       sort: defaultSort, 
       start:0, 
       limit:pagesize 
      }, 
      reader: new Ext.data.JsonReader({ 

       totalProperty: 'total', 
       root: 'root', 
       fields:['fullname', 'first'] 
      }) 
     }), 
    }; 

我可以使用 「store.user_store.getSortState()方向」 和 「store.user_store.getSortState()場」 獲得目錄的字符串和排序字符串。 但我不知道。用戶何時更改了dir字符串和排序字符串。

我試着解決我的問題。 這是我的代碼

       var dir =defaultDir; 
          if((store.user_store.getSortState().direction)) 
          { 
           dir =store.user_store.getSortState().direction; 
          } 

          var sort =defaultSort 
          if((store.user_store.getSortState().field)) 
          { 
           sort =store.user_store.getSortState().field; 
          } 

但Windows說:類型錯誤:store.user_store.getSortState()是不確定的。我能怎麼做?

(PS:對不起,我的英語不是很好的我的ExtJS的是V3.4)

http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Store-cfg-sortInfo

回答

0
       var dir =CDS.defaultDir; 
          var sort =CDS.defaultSort 
          var state =store.user_store.getSortState(); 
          if(state) 
          { 
           dir =state.direction; 
           sort =state.field; 
          } 
0

可以直接使用這樣無需再次定義一個變量。

var user_store= new Ext.data.Store({  
     autoLoad: false, 
     proxy: new Ext.data.HttpProxy({ 
      url: a/b/c 
     }), 
     remoteSort: true, 
     baseParams: { 
      dir: 'ASC', 
      sort: defaultSort, 
      start:0, 
      limit:pagesize 
     }, 
     reader: new Ext.data.JsonReader({ 

      totalProperty: 'total', 
      root: 'root', 
      fields:['fullname', 'first'] 
     }), 
     }) 

    }), 
};