zoukankan      html  css  js  c++  java
  • LigerUI LigerGrid getSelectedRows() 多选顺序 不是从上到下修改方法

    1、问题

       LigreGrid内部是选中一个,往selected里塞一个,
      当执行getSelectedRows() 的时候,会把selected以选中的顺序,返回出来,所以是按照选择顺序返回。

      原生代码片段:

      

      人性化的方式应该是按照选中列的从上到下输出

    2、解决

      利用console.log将getSelectedRows()的object打印出来,可以得到这个数组每一个Object有一个__index的参数,并且是按照从上到下的顺序从小到大的数字属性。所以可以以这个属性来进行二次排序,以实现从上到下顺序。考虑到每页的数据量不大,当前是最多一页50个,所以排序算法的效率几乎没有变化,采用最简单的冒泡排序即可。

      增加一个带参数的getSelectedRows方法,传参数即可实现排序。

            getSelectedRows: function (sorted)
            {
                var arr = [];
                for (var i in this.selected)
                {
                    var o = this.selected[i];
                    if (o['__id'] in this.records)
                        arr.push(o);
                }
                if(sorted!=null)
                {
                    console.log("内部排序");
                    var len = arr.length;
                    for (var i = 0; i < len; i++) {
                        for (var j = 0; j < len - 1 - i; j++) {
                            // 相邻元素两两对比,将大的换到后面 实现从小到大
                            if (arr[j].__index > arr[j+1].__index) {
                                // 元素交换
                                var temp = arr[j+1];        
                                arr[j+1] = arr[j];
                                arr[j] = temp;
                            }
                        }
                    }
                }
                return arr;
            },
  • 相关阅读:
    存储过程与事务实现转账
    win7创建虚拟无线网络
    .net制作安装包 如何生成快捷方式
    安装EFCodeFirst失败。。。。
    用VS2010自带的Library Package Manager安装EFCodeFirst出现“无法加载一个或多个请求的类型”错误的解决方法
    Java struts2
    Java spring
    Java web
    传输层
    xml
  • 原文地址:https://www.cnblogs.com/loveincode/p/7273586.html
Copyright © 2011-2022 走看看