请教高手,告诉我下面每句话是干什么的

yansonghui0621 2010-12-01 03:20:43
初学Ext,实在是看不懂了!

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);

}

}

};

...全文
109 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyfhz 2011-01-13
  • 打赏
  • 举报
回复
没学过...不过看起来,意思大概是这个样子的:
有一个类似网格一样的控件(你可以把它想象成Windows资源管理器在详细资料显示模式下左边的文件列表框),现在这个控件已经按照某一列进行了某种排序了(this.remoteSort) (比方说按照文件名递增排序)
然后用户给出一个新的排序请求(this.SortInfo)(比方说按照修改时间递减排序)
然后这个控件就开始按照新的排序请求进行排序了this.data.sort(s.direction, fn);
排序的时候需要指定排序策略,即如何比较两个不同项的大小,这个工作是通过临时函数fn()来完成的。

猜的~~~
yansonghui0621 2010-12-31
  • 打赏
  • 举报
回复
shyokou 2010-12-31
  • 打赏
  • 举报
回复
看了俩下, 貌似啥也干不了, 回答完毕 ...

[Quote=引用楼主 yansonghui0621 的回复:]
初学Ext,实在是看不懂了!

Ext.data.Store.prototype.applySort = function(){

if(this.sortInfo && !this.remoteSort){

……
[/Quote]

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧