easyui datagrid 列拖拽2
1、拖动前
2、拖动中
3、拖动后
5、代码1
- $("#corp-grid").datagrid({
- title:"泥头车企业管理",
- toolbar:"#corp-grid-toolbar",
- border:false,
- fit:true,
- width:$(window).width()-252,
- columns:[[
- {field:"ckb",checkbox:true},
- {field:"corpName",title:"企业名称",width:200,halign:"center",align:"center",resizable:true},
- {field:"linkedCorpName",title:"挂靠深圳企业名称",width:200,halign:"center",align:"center",resizable:true},
- {field:"corpType",title:"企业类型",width:80,align:"center",resizable:false},
- {field:"businessScope",title:"经营范围",width:80,align:"center",resizable:false},
- {field:"effectiveDate",title:"有效日期",width:80,align:"center",resizable:false},
- {field:"opePeriod",title:"营业期限",width:80,align:"center",resizable:false},
- {field:"ifLocal",title:"是否本地",width:80,align:"center",resizable:false},
- {field:"state",title:"有效状态",width:80,align:"center",resizable:false}
- ]],
- //striped:true,
- fitColumns:true,
- //autoRowHeight:true,
- rownumbers:false,
- singleSelect:false,
- ctrlSelect:true,
- pagination:true,
- pageSize:10,
- pageList:[5,10,15,20,25,30],
- sortName:"corpId",
- sortOrder:"desc",
- url:"corp_getInfoList.action",
- method:"post",
- loadMsg:"加载数据中,请稍后",
- onDblClickRow:function(rowIndex, rowData){
- openDialog({
- type:"view",
- title:"泥头车企业信息查看",
- width:800,
- height:400,
- maximizable:true,
- href:"BaseInfo/Corp/CorpInfoView.html"
- });
- },
- onRowContextMenu:function(e, rowIndex, rowData){
- e.preventDefault();
- $(this).datagrid("unselectAll");
- $(this).datagrid("selectRow", rowIndex);
- $("#corp-menu").menu("show",{
- left:event.pageX,
- top:event.pageY
- });
- }
- }).datagrid("columnMoving");
6.代码2
- $.extend($.fn.datagrid.methods,{
- columnMoving:function(jq){
- return jq.each(function(){
- var grid = this;
- var directionDiv = $("<div></div>");
- directionDiv.hide();
- $("body").append(directionDiv);
- $(grid).datagrid("getPanel")
- .find(".datagrid-header td[field]:not(td[field='ckb'])").draggable({
- revert:true,
- cursor:"move",
- deltaX:10,
- deltaY:10,
- edge:10,
- proxy:function(source){
- var proxyEl = $("<div></div>");
- proxyEl.addClass("dg-proxy dg-proxy-error");
- proxyEl.text($(source).text());
- proxyEl.appendTo($("body"));
- return proxyEl;
- }
- }).droppable({
- accept:".datagrid-header td[field]",
- onDragOver:function(e,source){
- $(source).draggable("proxy").removeClass("dg-proxy-error").addClass("dg-proxy-right");
- $(".dg-hide-div").hide();
- var thisIndex = $(this).index();
- var sourceIndex = $(source).index();
- var className = null;
- var height = null;
- var thisOffset = null;
- var left = null;
- var top = null;
- height = $(this).height();
- if(sourceIndex > thisIndex){
- className = "dg-move-prev";
- thisOffset = $(this).offset();
- left = thisOffset.left;
- top = thisOffset.top;
- }else{
- className = "dg-move-next";
- if(thisIndex == $(this).parent().children(":last").index()){
- thisOffset = $(this).offset();
- left = thisOffset.left + $(this).width() - directionDiv.width();
- top = thisOffset.top;
- }else{
- thisOffset = $(this).next().offset();
- left = thisOffset.left - directionDiv.width();
- top = thisOffset.top;
- }
- }
- directionDiv.removeClass().addClass(className);
- directionDiv.css({height:height, left:left, top:top});
- directionDiv.show();
- },
- onDragLeave:function(e,source){
- $(source).draggable("proxy").removeClass("dg-proxy-right").addClass("dg-proxy-error");
- directionDiv.hide();
- },
- onDrop:function(e,source){
- directionDiv.remove();
- var thisIndex = $(this).index();
- var sourceIndex = $(source).index();
- var sourceCol = new Array();
- $(source).remove();
- $.each($(grid).datagrid("getPanel")
- .find(".datagrid-body tr"),function(index,obj){
- var sourceTd = $(obj).children("td:eq(" + sourceIndex + ")");
- sourceCol.push(sourceTd);
- sourceTd.remove();
- });
- var prev = sourceIndex > thisIndex;
- thisIndex = $(this).index();
- if(prev){
- $(this).before($(source));
- }else{
- $(this).after($(source));
- }
- $.each($(grid).datagrid("getPanel")
- .find(".datagrid-body tr"),function(index,obj){
- var thisTd = $(obj).children("td:eq(" + thisIndex + ")");
- if(prev){
- thisTd.before(sourceCol[index]);
- }else{
- thisTd.after(sourceCol[index]);
- }
- });
- $(grid).datagrid("columnMoving").datagrid("columnHiding");
- }
- });
- });
- }
- });
easyui datagrid 列拖拽2的更多相关文章
- easyui datagrid 列拖拽
首先easyui 它有提供了拖拽的功能Draggable,那我们就可以想 拖拽标题头到另外的标题头上面我们就对datagrid的columns重新绑定一次 并刷新datagrid这个功能不就行了? & ...
- easyui datagrid列拖拽
<script type="text/javascript"> var cols = [{ field: 'testName', title: '<span cl ...
- easyui datagrid 列隐藏和显示
easyui datagrid 列隐藏和显示 用js怎么控制列的显示和隐藏? 最佳答案 $('#grid').datagrid('hideColumn','列field');把hideColu ...
- js控制easyui datagrid列的显示和隐藏
easyui datagrid 列隐藏和显示 $('#grid').datagrid('hideColumn','列field'); //把hideColumn换成showColumn 即为显示列
- easyui树节点拖拽排序的存储过程
easyui树的拖拽排序功能 easyui树中有拖拽功能 树结构如下: 一个行政区域对应一个单位,一个单位对应多个部门,每个部门下有相关人员,功能要求: (1)行政区域没有子节点,点击text加载部门 ...
- 在 Element-UI 的 Table 组件上添加列拖拽效果
Element-UI 的 Table组件很强大,但是我们的需求更强大... 简单粗暴的来一发效果图: 一.数据驱动 传统的拖动效果,都是基于通过 mousedown.mousemove.mouseup ...
- 列拖拽顺序调整-sortable.js使用
最近在做一个单表统计功能,涉及到一个查询列配置,但是查询出来的列顺序,可以进行配置,通过写列的排序当然阔以,但是方法就不美丽了.所以,在网上搜了一下拖拽的组件,最终定位Sortable.js,简单易用 ...
- 让jquery easyui datagrid列支持绑定嵌套对象
嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...
- easyUI datagrid 列宽自适应(简单 图解)(转)
响应数据格式: easyUI在html代码中结构: 发现了什么没有,我们的表头其实是一个td在td中有一个属性field那么我们就可以获得了; 以下就是自适应代码: //添加事件 function c ...
随机推荐
- 第三百三十二天 how can I 坚持
今天一大早,住的这就施工了,被吵醒了.. 下午去了趟小米之家,小米5还行,黑科技不黑,哈哈. 小米5黑科技不太黑,就知道造词,整体感觉还行,就是感觉屏幕有点长,小米之家人倒是不少,还有老太太去小米之家 ...
- MYSQL数据库性能调优之四:解决慢查询--索引
为什么索引能够提高查询速度?没有索引 检索数据的方式是从头到尾一条一条挨着匹配,这是慢的根本原因:索引类型BTREE:二叉树类型,原理图如下:对表创建一个二叉树,记录中间数据的物理磁盘地址,二叉树检索 ...
- linux极点五笔无法输入词组_ibus设置
菜鸟学linux——用的是ubuntu 不知道是不是按个哪些快捷键,极点五笔突然无法输入词组.那个抓狂啊 没关系,设置一下就ok 第一步:右上角输入法,右键——>首选项——>常规——> ...
- 什么是S-OFF,什么是S-ON,HBOOT命令,玩转Android
什么是S-OFF?S代表 Security Lock,是安全锁,保护锁的意思.S-OFF就是安全保护关,S-ON就是安全保护开.Secure Lock 就是安全锁.是硬件设计厂商用于保护固件不被刷写而 ...
- TCP三次握手及四次挥手详细图解(未完)
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: (完成三次握手,客户端与服务器开始传送数据) 所谓三次握手(Three-way Handshake),是指建立一 ...
- 两个ERP 库存调拨
(A) ERP 负责线上销售,公司为扩大规模,发展线下实体 采用另一套ERP(B) A 和B 都是 单独的ERP ,为了使两个ERP 能高效地工作,需开发一个单独衔接模块实现 ,库存的调拨,新品的 ...
- 通过点击取消按钮关闭dialog窗口
- java中string与byte[]的转换
1.string 转 byte[] byte[] midbytes=isoString.getBytes("UTF8"); //为UTF8编码 byte[] isoret = sr ...
- 神秘常量复出!用0x077CB531计算末尾0的个数 -- De Bruijn 序列
http://www.matrix67.com/blog/archives/3985 神秘常量复出!用0x077CB531计算末尾0的个数 大家或许还记得 Quake III 里面的一段有如天书般的代 ...
- Uva10474 - Where is the Marble?
两种解法: 1.计数排序 //计数排序 #include<cstdio> #include<iostream> #include<vector> #includ ...