首页 > 代码库 > Atitit 列表表格按照字段排序数据解决方案
Atitit 列表表格按照字段排序数据解决方案
Atitit 列表表格按照字段排序数据解决方案
1.1. 排序ui1
1.1.1. C:\Users\Administrator\Desktop\00oa\com.attilax\ui\orderArrow.js1
1.2. 集合的sort方法 (推荐)2
1.3. Linq法 支持sql式多重排序(功能最强大的方法2
1.4. 其他排序法 手动排序3
1.5. Js版排序3
2. 排序的常见问题4
1.1. 排序ui与调用
主要是箭头的toggle模式。。
<span id="avgtimeArrow">
<i class="fa fa-chevron-circle-up fa-lg"></i>
<i class="fa fa-chevron-circle-down fa-lg " style="display:none"></i>
</span>
绑定排序事件
function iniOrderFun()
{
orderArrow_ini("#avgtimeArrow",alldata_r44,"平均时间",function(arr_ordered){
setPageControl(arr_ordered);});
1.1.1. C:\Users\Administrator\Desktop\00oa\com.attilax\ui\orderArrow.js
function orderArrow_ini(jqobj,arrdata,fld,orderedEventHandler)
{
var upobj=$(jqobj+" .fa-chevron-circle-up");
var downobj=$(jqobj+" .fa-chevron-circle-down");
downobj.hide();
$(upobj).on(‘click‘,function(){
$(this).hide();
downobj.show();
var arr_ordered= orderbyDesc(arrdata,fld);
console.log( JSON.stringify(arr_ordered));
orderedEventHandler(arr_ordered);
});
downobj.on(‘click‘,function(){
downobj.hide();
upobj.show();
var arr_ordered=orderbyAsc(arrdata,fld);
console.log( JSON.stringify(arr_ordered));
orderedEventHandler(arr_ordered);
});
}
1.2. 集合的sort方法 (推荐)
return arrdata.sort(function(a, b) {
var aval=(a[fld]);
if(aval==null)
aval=0;
var bval=b[fld];
if(bval==null)
bval=0
var rzt= aval- bval;
return rzt;
});
最快速的方法
1.3. Linq法 支持sql式多重排序(功能最强大的方法
)
1.4. 其他排序法 手动排序
1.5. Js版排序
// JavaScript Document
function orderbyAsc (arrdata,fld)
{
return arrdata.sort(function(a, b) {
var aval=(a[fld]);
if(aval==null)
aval=0;
var bval=b[fld];
if(bval==null)
bval=0
var rzt= aval- bval;
return rzt;
});
}
// 冒泡排序
function bubbleSort(array,fld) {
var i = 0,
len = array.length,
j, d;
for (; i < len; i++) {
for (j = 0; j < len; j++) {
if (array[i][fld] < array[j][fld]) {
d = array[j];
array[j] = array[i];
array[i] = d;
}
}
}
return array;
}
function orderbyDesc (arrdata,fld)
{
return arrdata.sort(function(a, b) {
var aval=(a[fld]);
if(aval==null)
aval=0;
var bval=b[fld];
if(bval==null)
bval=0
var rzt= bval-aval;
return rzt;
});
}
2. 排序的常见问题
乱序问题::可能由于null值引起。。。转换为0即可。。
Atitit.现实生活中最好使用的排序方法-----ati排序法总结.doc
JavaScript版几种常见排序算法 - Jun.lu - 博客园.html
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher kok 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
头衔:uke总部o2o负责人,全球网格化项目创始人,
uke交友协会会长 uke捕猎协会会长 Emir Uke部落首席大酋长,
uke宗教与文化融合事务部部长, uke宗教改革委员会副主席
uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,
uke 首席cto 软件部门总监 技术部副总监 研发部门总监主管 产品部副经理 项目部副经理 uke科技研究院院长uke软件培训大师
uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长
uke终身教育学校副校长 Uke医院 与医学院方面的创始人
uec学院校长, uecip图像处理机器视觉专业系主任 uke文档检索专业系主任
Uke图像处理与机器视觉学院首席院长
Uke 户外运动协会理事长 度假村首席大村长 uke出版社编辑总编
转载请注明来源:attilax的专栏 ?http://www.cnblogs.com/attilax/
--Atiend v8
Atitit 列表表格按照字段排序数据解决方案