首页 > 代码库 > 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 列表表格按照字段排序数据解决方案