2012-08-31 67 views
4

我以編程方式創建了dojox.grid.datagrid,我需要在列上進行自定義排序。 爲此我嘗試使用ItemFileWriteStore.comparatorMap['field'] = comparatorFunc。但是我的比較函數從未被調用過。以編程方式在Dojo Datagrid中自定義列排序

任何想法,我在這裏失蹤?

+1

可能有人可以爲此發佈jsfiddle。我也面臨同樣的問題。 – Sandeep

+0

'comparatorFunc'看起來像什麼? – IProblemFactory

+0

問題在於我的比較器func的結構。問題得到解決。 – Lokn

回答

0

我已經完成了對數據網格的自定義排序。 (道場-1.4) 樣本代碼在這裏:

function(response, ioArgs){                
        queryGrid.queryOptions={ignoreCase:true}; 
        queryGrid.setStore(new dojo.data.ItemFileReadStore(response[responseResult])); 
        setCustomSort(queryGrid.store); 


.. 

} 

function setCustomSort(store){ 
      if(!store.comparatorMap){ 
       store.comparatorMap = {}; 
      } 

      store.comparatorMap["unresolvedHrs"] = sortNum; 
      store.comparatorMap["tat"] = sortNum; 
     } 

function sortNum(a, b){ 
      var _a = convertTimeToNum(a); 
      var _b = convertTimeToNum(b); 
      var ret = 0; 
      if (_a > _b) { 
       ret = 1; 
      } 
      if (_a < _b) { 
       ret = -1; 
      } 
      return ret; 
     } 

這裏convertTimeToNum是時間格式值轉換以分鐘到數。

相關問題