日期:2014-05-16  浏览次数:20450 次

Extjs Gird 支持中文拼音排序
<script type="text/javascript">
Ext.data.Store.prototype.applySort=function(){//重载applySort
 if(this.sortInfo && !this.remoteSort){
  var s = this.sortInfo, f=s.field;
  var st=this.fields.get(f).sortType;
  var fn=function(r1,r2){
   var v1=st(r1.data[f]),v2=st(r2.data[f]);
   //添加:修复汉字排序异常的Bug
   if(typeof(v1)=="string"){//若为字符串
    return v1.localeCompare(v2);//则localeCompare比较汉字字符串,Firefox与IE均支持
    
   }//添加结束
   return v1>v2 ? 1 : (v1<v2 ? -1 : 0);
  };
  this.data.sort(s.direction,fn);
  if(this.snapshot && this.snapshot!=this.data){
   this.snapshot.sort(s.direction,fn);
  }
  
 }
};
</script>