ExtJS 解决中文排序问题
国际上都使用ASCII码进行排序,而我们却按拼音顺序排序,EXT自动排好的中文在我们看起来却是一团糟。
为了让表格实现中文排序的功能,需要重写Ext.data.Store的applySort函数。
示例代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Test</title>
<link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css" />
<script type="text/javascript" src="../adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../ext-all.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
Ext.data.Store.prototype.applySort = function() { // 重写函数方法,实现中文排序
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]);
if (typeof(v1) == "string") {
return v1.localeCompare(v2);
}
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);
}
}
};
var cm = new Ext.grid.ColumnModel([
{
header:'编号', dataIndex:'id', sortable:true
},
{
header:'名称', dataIndex:'name',sortable:true
},
{
id:'desc', header:'描述', dataIndex:'desc', sortable:true
}
]);
var data = [
['1', '啊', 'desc1'],
['2', '啵', 'desc2'],
['3', '吃', 'desc3'],
['4', '得', 'desc4'],
['5', '咯', 'desc5']
];
var store = new Ext.data.Store({
proxy:new Ext.data.MemoryProxy(data),
reader:new Ext.data.ArrayReader({},[
{name:'id'},
{name:'name'},
{name:'desc'}
]),
sortInfo:{field:'name', direction:'DESC'}
});
store.load();
var grid = new Ext.grid.GridPanel({
renderTo:'test',
store:store,
cm:cm,
autoHeight:true,
autoExpandColumn:'desc'
});
});
</script>
</head>
<body>
<div id="test"></div>
</body>
</html>
分享到:
相关推荐
Extjs grid 中文排序问题修正,其实很简单,请自己看源代码
项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议
100行代码解决ExtJs4.1合并单元格问题
Extjs 2 自定义panel边框,解决双重边框问题 Extjs 3 自定义panel边框,解决双重边框问题 Extjs 4 自定义panel边框,解决双重边框问题
功能: 中文排序功能 具体: 实现按照中文信息,进行排序 用法: 将此方法,放到ext-all.js文件最后,或者放到html页面最上面,总之要在Ext初始化之后,实际代码调用之前执行。
ExtJs+Dwr带分页分组传参后台排序功能的grid 主要包含:这个主要用到ExtJS+DWR+Spring+Hibernate,主要包括浏览页(usernamerecord.jsp),脚步文件(usernamerecord.js),dwr分页代理脚本文件(dwrproxy.js),...
绝对的ExtJS3.0中文API,本人在网上找了好久才找到的,在此奉献给大家!!解压后有30多兆!!
EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用
关于ExtJS内存泄漏问题,一直是ExtJS开发人员困扰的问题,这篇文档很好地解释了什么是内存泄漏,为什么会产生内存泄漏。能够帮助程序员使用ExtJS开发出更高效安全的代码。
extjs资料extjs资料extjs资料extjs资料extjs资料
Extjs中文文档,包含Extjs的基本语法和各个类的详细说明以及用法。
extjs3.3的中文文档
Extjs 中文API文档,有对Extjs相关API的中文说明
Extjs例子Extjs例子Extjs例子Extjs例子Extjs例子
Extjs 4.0中文版API
extjs4.1 中文API
extjs常见问题http://www.jb51.net/list/list_217_1.htm
extjs4.0 技术中文视频讲解,内容非常的全,而且讲的也不错,这是第一部分,里面有下载地址 可用迅雷下载。 第一讲:extjs4.0概述和HELLO WORD程序 第二讲:extjs4.0的新特性 第三讲:extjs4.0数据模型--Model 第...
extjs3.0中英文对照chm api
ExtJs 实例+ExtJs中文教程 大量ExtJs的实例和目前最好的ExtJs中文教程,学习ExtJs的朋友可以参考一下