`

Ext store 实现汉字排序

阅读更多

Ext.data.Store应用中,有的时候我们对记录的某列进行排序,如果该列的值含有汉字的话,那么对该列进行排序的后,这些记录对于我们来说,就没有什么规律可言。但是我们可以通过修改Ext.data.Store的sortData方法达到汉字排序的效果。

而实现汉字排序方法的关键点就是javascript的localeCompare方法。

该方法的用法是:stringVar.localeCompare(stringExp)

 

说明:localeCompare 可以对 stringVarstringExp 进行一个区分区域设置的字符串比较并返回 –1、0 或 +1,这取决于系统中缺省区域设置的排序。

 

实现Ext.data.Store汉字排序的关键点:

Ext.data.Store.prototype.sortData= function(f, direction){
			        direction = direction || 'ASC';
			        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(direction, fn);
			        if(this.snapshot && this.snapshot != this.data){
			            this.snapshot.sort(direction, fn);
			        }
			 };

  

 

分享到:
评论

相关推荐

    EXT支持GRID中文排序

    本文将详细介绍如何通过自定义`Ext.data.Store`中的排序方法来支持中文排序功能。 #### 一、背景介绍 在使用EXT框架构建的项目中,`Ext.data.Store`是用于管理数据的核心类之一。它提供了存储、检索、排序等功能。...

    Ext中文排序问题

    在ExtJS中,可以通过重写`Ext.data.Store.prototype.applySort`方法来实现中文排序。具体步骤如下: 1. **检查排序信息**:首先判断当前Store是否设置了排序信息,并且不是远程排序。 2. **获取字段信息**:从排序...

    解决Ext Grid中文排序问题

    为了解决这个问题,我们可以重写Ext.data.Store的`applySort`函数,以便在进行本地排序时应用中文排序规则。上述代码正是这样一个解决方案。它将原生的`applySort`函数替换为一个新的版本,其中包含了对中文字符串...

    EXT中文开发手册

    中文API文档 数据存储与传输 Ext.data简介 Ext.data.Connection Ext.data.Record Ext.data.Store 基本应用 对数据进行排序 从store中获取数据 更新store中的数据

    Ext 中文帮助文档

    5. **GridPanel**:Ext的表格控件,支持分页、排序、过滤、编辑等功能,是数据展示和操作的重要工具。 6. **TreePanel**:树形视图组件,用于展示层次结构的数据,常用于菜单、文件系统或者组织结构的显示。 7. **...

    Extjs grid 中文排序问题修正

    本教程将详细讲解如何修正EXTJS Grid中的中文排序问题。 首先,我们需要理解EXTJS Grid的排序原理。EXTJS Grid的排序功能是基于其内部的Store对象实现的,Store中的每条记录都有一个对应的sortField和sortDir属性,...

    ext中文帮助文档最终版

    4. **表格和网格**:EXT 2.0中的GridPanel组件提供了高度可定制的表格功能,包括排序、分页、行编辑和列重排等。这对于展示大量数据非常有用。 5. **树形视图**:TreePanel组件提供了灵活的树形数据结构显示,支持...

    EXT手册(中文) 实例简单易懂

    ### EXT手册(中文) 实例简单易懂 #### EXT简介 EXT是一款强大的JavaScript库,用于构建复杂的用户界面,尤其适用于Web应用。它提供了一系列丰富的组件和工具,使得开发者能够轻松地开发出美观且功能强大的前端应用...

    ext 3.0 中文API

    9. **Data Package**:EXT的数据包提供了Model、Store和Proxy等概念,用于管理和操作数据,实现与服务器的数据交换。 10. **Drag & Drop**:EXT支持拖放功能,可以方便地在组件之间移动元素,增强用户体验。 EXT ...

    Ext 3.0 中文文档.zip

    这份"Ext3.0中文文档"提供了全面的指南,帮助开发者深入理解并有效利用这个框架。 一、Store:在Ext 3.0中,Store是数据管理的核心。它负责存储和管理数据,与各种UI组件(如Grids和Trees)进行交互。Store可以连接...

    ExtJs表格grid中文排序函数方法

    今天,我们将详细介绍如何使用ExtJs实现中文排序,特别是使用Ext.data.Store.prototype.createComparator()函数来实现中文排序。 首先,让我们来了解 Ext.data.Store.prototype.createComparator()函数的作用。这个...

    Ext3.2 SDK + 中文API

    例如,`Ext.grid.Panel` 是一个常用的组件,用于创建数据网格,它支持排序、分页、行编辑等功能,通过配置不同的列和数据源,可以实现各种复杂的表格展示需求。 此外,Ext3.2还引入了数据包(Data Package)的概念...

    Ext4.0中文api[帮助文档]

    Ext4.0中文API是针对Ext JS 4.0框架的中文参考文档,它为开发者提供了详尽的API接口信息,使得在中国地区的开发者能够更好地理解和使用这个强大的JavaScript库。Ext JS是一个用于构建富互联网应用程序(RIA)的前端...

    Extjs Gird 支持中文拼音排序实现代码

    在中文排序中,它会考虑汉字的拼音,使得“陈”会排在“程”之前,即使“陈”的Unicode值大于“程”。 对于非字符串类型的数据,`fn`函数直接使用标准的比较运算符`&gt;`和`进行比较,确保数字和其他类型的数据也能...

    Ext.3.0.中文文档

    3. **表格(Grid)**:深入理解Ext Grid Panel的使用,包括列定义、分页、排序、过滤和自定义编辑功能,以及如何处理大规模数据。 4. **表单(Form)**:掌握如何创建和使用各种表单元素,如文本字段、选择框、日期...

    ext 4.1中文API

    EXT 4.1中文API是Java开发者在使用EXT库时的重要参考资料,特别是对于那些需要深入理解和应用EXT组件的中文社区成员来说,这是一个极其宝贵的资源。EXT是一个强大的JavaScript库,主要用于构建富客户端应用程序,它...

    jsp 实现的 EXT Grid 导出excel 例子

    EXT Grid是EXT JS框架中的一个核心组件,它提供了分页、排序、过滤、拖放等多种特性,用于展示结构化的数据。在实际应用中,我们经常需要将Grid中的数据导出到Excel文件,以便于进一步处理或存储。JSP结合EXT Grid...

    Ext 3.3 - 中文API文档

    EXT 3.3 中文API文档是一份专为EXTJS框架3.3版本设计的详尽中文参考手册,旨在帮助那些在英语阅读上可能存在困难的软件开发人员更好地理解和使用EXTJS库。EXTJS是一个强大的JavaScript库,用于构建富客户端Web应用,...

    Ext3.2中文API

    Ext3.2中文API是专为开发者设计的一份详尽文档,主要涵盖了Ext JS库的3.2版本的中文接口参考。Ext JS是一个强大的JavaScript框架,用于构建富客户端Web应用程序,它提供了丰富的用户界面组件和数据绑定机制。本文将...

    Ext 3.0 中文手册和实用教程.pdf

    7. **国际化支持**:标题提到的“中文手册和实用教程”,表明Ext 3.0提供了中文文档,这对于中文开发者来说是个极大的便利,可以帮助他们更好地理解框架的用法。 8. **主题和皮肤**:Ext 3.0允许自定义皮肤和主题,...

Global site tag (gtag.js) - Google Analytics