html表格宽度拖拽,Js拖拽实现改变Table的列宽解决方案
Js拖拽实现改变Table的列宽
如题,楼主是Js小白,最近遇到问题,需要用Js实现GridView的列拖拽改变大小,在网上找到一段代码如下:
function MouseDownToResize(obj) {
setTableLayoutToFixed();
obj.mouseDownX = event.clientX; //当事件被触发时鼠标指针相对于浏览器页面(或客户区)的水平坐标
obj.pareneTdW = obj.parentNode.offsetWidth; //获取Td的宽度
obj.pareneTableW = document.getElementById("Grid_DTable1").offsetWidth; //获取整个表格的宽度
obj.setCapture(); //设置属于当前文档的对象的鼠标捕捉
}
function MouseMoveToResize(obj) {
if (!obj.mouseDownX) return false; //
var newWidth = obj.pareneTdW * 1 + event.clientX * 1 - obj.mouseDownX; //鼠标移动时把宽度设置为之前的宽度加上水平位移再减去之前相对于浏览器的坐标
if (newWidth > 10) {
var theObjTable = document.getElementById("Grid_DTable1");
obj.parentElement.style.width = newWidth;
theObjTable.style.width = obj.pareneTdW * 1 + event.clientX * 1 - obj.mouseDownX;
}
}
function MouseUpToResize(obj) {
obj.releaseCapture(); //释放当前文档中对象的鼠标捕捉
obj.mouseDownX = 0;
}
function setTableLayoutToFixed() {
var theObjTable = document.getElementById("Grid_DTable1");
if (theObjTable.style.tableLayout == 'fixed') return;
var headerTr = theObjTable.rows[0];
for (var i = 0; i
headerTr.cells[i].styleOffsetWidth = headerTr.cells[i].offsetWidth;
}
for (var i = 0; i
headerTr.cells[i].style.width = headerTr.cells[i].styleOffsetWidth;
}
theObjTable.style.tableLayout = 'fixed';
}
代码中注释是我查资料之后加的,但是这代码里面还是不太懂,有没有大神能介绍下这段代码的思路?或者说关键点也行,还有问题就是,我自己创建新的GridView拖拽正常,但是在我的项目中使用这段代码, 这样的标题就没有跟着一起变化,这是怎么回事?还有就是拖拽完之后之前居中的样式也不见了,请问怎么修改?
------解决方案--------------------
你这个只能用于 ie !
推荐一个 http://download.csdn.net/detail/zhangd83/654639
代码也比较容易看懂
------解决方案--------------------
你 ShowHeader="false" 配置为false还能显示标题?
IE下也不好使啊。。
试试这个:仿Microsoft Excel修改单元格宽度
------解决方案--------------------
沉了么,我顶~
------解决方案--------------------
不是jquery啊,纯js的。。查看源代码,将script里面Table类库存为一个js就行了,需要修改table的页面导入这个js,然后new下这个Table的实例就可以拖动了
html表格宽度拖拽,Js拖拽实现改变Table的列宽解决方案相关推荐
- html 树形图可拖拽,HTML5拖拽API实现vue树形拖拽组件
因业务场景需要一个可拖拽修改节点位置的树形组件,因此动手撸了一个,乘此机会摸了一把html5原生拖拽.近期有时间将核心部分代码抽出,简单说下实现方式. 1.树形结构-组件递归使用 树形结构非常简单,t ...
- 拖动改变Table的列宽度
收藏自:http://www.cnblogs.com/xieex/archive/2007/12/15/996025.html <html> <head> <meta h ...
- html设置图片不可拖拽,js css3实现图片拖拽效果
本文实例为大家分享了css3实现图片拖拽效果的具体代码,供大家参考,具体内容如下 body{ text-align: center; } .container{ display: flex; just ...
- android 高德拖拽地图定位,拖拽选址-拖拽选址-示例中心-JS API UI 组件示例 | 高德地图API...
拖拽选址 html, body { height: 100%; margin: 0; width: 100%; padding: 0; overflow: hidden; font-size: 13p ...
- JQuery拖拽通过八个点改变div大小
(function($) {/*** 默认参数*/var defaultOpts = {stage: document, //舞台item: 'resize-item', //可缩放的类名};/*** ...
- html元素拖拽 标签拖拽
调用发方法 传入要拖拽元素的id elDrag (id): 兼容 pc端 & 手机端 只做左右吸附 上下超出未做限制 放开位置小于宽度50%靠左吸附,大于50%靠右吸附 elDrag (id) ...
- html5+vue无法拖拽,Vue拖拽排序插件Vuedraggable使用方法详解_心善_前端开发者
大家好,最近做的项目要用到拖拽排序,我现在的项目是 首先在 npm install vuedraggable -S 下载下来后,引入插件,在你的vue文件的script标签里面这样引入 import ...
- Vue 实现可拖拽、拖拽组件
描述: 组件仅封装拖拽功能,内容通过#header.#default.#footer插槽 自定义 <template><divref="wrapper"class ...
- html5网页小游戏 拖拽,HTML5拖拽功能实现的拼图游戏
本文通过实例代码给大家介绍了HTML5拖拽功能实现的拼图游戏,代码简单易懂,非常不错,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 具体代码如下所示: drag拖拽 .box{ f ...
最新文章
- 搜索引擎惩罚的五种最大原因
- 数据驱动才是零售企业转型的核心!
- 多个网页用一个html,在多个页面使用同一个HTML片段的代码-javascript技巧
- Angular 使用 Injector API 人工获取依赖注入的实例
- SAP Spartacus central Travis build的lint环节
- windows下OpenSSL加密证书安装步骤与使用方法
- python爬虫----handler和opener
- 自考计算机专业,自考计算机
- SAP License:基于成本的获利分析表CE1-CE4
- 计算机网络学习笔记(29. DNS概述)
- 一个资源管理系统的设计--基于cgroup机制
- bootstrap - navbar
- php根据类名字符串,PHP 5.5 新特性 ::class 获取类名字符串
- opencart china 书籍主题
- 【阿里云播放器】AliyunPlayerTest.exe 播放mp4日志 win7
- Win10下Matlab r2018a 64位 中文破解版的安装以及破解方法
- Symbian使用TTime类获取系统时间并转换为描述符
- 洛谷 P2014 选课
- [Big Data - Codis, Mycat(cobar)] 企业互联网+转型实战:如何进行PB级别数据的架构变迁...
- 学习退款数据分析思路
热门文章
- android复位机器人图片,安卓(Android)新图标!小绿机器人换脸啦
- centos rpm mysql 5.6_centos6.5 mysql5.6 RPM安装
- linux mysql odbc驱动安装_mysql odb驱动_Mysql的odbc driver安装配置(Linux)
- mysql noinstall 安装_mysql-noinstall安装指南
- 囧囧西游之大闹天宫java_《囧囧西游之大闹天宫》攻略(1)
- java面向对象-------类属性和方法,不同类之间调用
- [LeetCode] 搜索旋转排序数组
- 服务器应用缓存热点问题思考
- k8s总结(脑图图片)
- 帕金森定律(Parkinson's Law)