zoukankan      html  css  js  c++  java
  • easyui datagrid列拖拽

    <script type="text/javascript">
    var cols = [{ field: 'testName', title: '<span class="dropitem">测试名</span>', align: 'center',120 },
    { field: 'testValue', title: '<span class="dropitem">测试值</span>', align: 'center', 120}];
    var url="/Test/Test1Data";
    $(document).ready(function () {
    init();
    drag();//绑定datagrid,绑定拖拽
    });
    function init() {
    $("#test").datagrid({
    url: url,
    type: "post",
    datatype: "json",
    600,
    height: 280,
    loadMsg: "数据加载中,请稍后...",
    nowrap: true,
    rownumbers: false,
    pagination: true,
    singleSelect: true,
    columns: [cols],
    //bind数据成功重新设置拖动对象
    onLoadSuccess: function (data) {
    drag();
    }
    });
    }
    //拖动drag和drop都是datagrid的头的datagrid-cell
    function drag() {
    $('.datagrid-header-inner .datagrid-cell').draggable({
    revert: true,
    proxy: 'clone'
    }).droppable({
    accept: '.datagrid-header-inner .datagrid-cell',
    onDrop: function (e, source) {
    //取得拖动源的html值
    var src = $(e.currentTarget.innerHTML).html();
    //取得拖动目标的html值
    var sou = $(source.innerHTML).html();
    var tempcolsrc;//拖动后源和目标列交换
    var tempcolsou;
    var tempcols=[];
    for (var i = 0; i < cols.length; i++) {
    if (cols[i].title == sou) {
    tempcolsrc = cols[i];//循环读一遍列把源和目标列都记下来
    }
    else if (cols[i].title == src) {
    tempcolsou = cols[i];
    }
    }
    for (var i = 0; i < cols.length; i++) {
    //再循环一遍,把源和目标的列对换
    var col = {
    field: cols[i].field,
    title: cols[i].title,
    align: cols[i].align,
    cols[i].width
    };
    if (cols[i].title == sou) {
    col = tempcolsou;
    }
    else if (cols[i].title == src) {
    col = tempcolsrc;
    }
    tempcols.push(col);
    }
    cols = tempcols;
    //1秒后执行重绑定datagrid操作。可能是revert需要时间,这边如果没有做延时就直接重绑 就会出错。
    //我目前的水平就想到这个笨办法,各位如果有好的想法建议可以提出来讨论下。
    timeid = setTimeout("init()", 1000);
    }
    });
    }
    </script>

    <div id="test"></div>

     上效果图:

    原datagrid   

    拖动列     

  • 相关阅读:
    巧妙使用df和du查看文件和目录的内存占用
    简谈
    SELECT语句的常用方法
    MySQL的安装和基本操作
    数据库 --- 索引
    数据库 --- Group by的使用心得
    数据库面试题 --- 谈谈你对视图的理解
    蚁群算法matlab源码
    职场人每天早晨做一个动作轻松提升工作效率
    职场新人请教问题一定不能犯的两个错误
  • 原文地址:https://www.cnblogs.com/huangf714/p/5863956.html
Copyright © 2011-2022 走看看