Web中DataGrid绑定数据显示列可拖动

DataGrid绑定数据固定的小数位数 Private void dgdInfo_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgse)          {             if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.Alternati 阅读详情
在原理主要是js代码

将如下代码放在.aspx中

<script language='javascript>

//判断鼠标是否按下
var mouseDown = false;
//鼠标所在区域
var IsTdArea=0;

//鼠标按下
function MouseDown(obj)
{
if(IsTdArea != 0)
{
obj.mouseDownY = event.clientY;
obj.mouseDownX=event.clientX;
obj.parentTdH = obj.offsetHeight;
obj.pareneTdW=obj.offsetWidth;
//获得table的高度
obj.pareneTableH=obj.parentElement.parentElement.parentElement.offsetHeight;
//获得table的宽度
obj.pareneTableW=obj.parentElement.parentElement.parentElement.offsetWidth;
obj.setCapture();
mouseDown = true;
}
else
{
mouseDown = false;
}
}

function MouseMove(obj)
{
if(mouseDown == true)
{
if(IsTdArea == 1 || IsTdArea == 2)
{
if(!obj.mouseDownX) return false;
var newWidth=obj.pareneTdW*1+event.clientX*1-obj.mouseDownX;
if(newWidth>0)
{
obj.style.width = newWidth;
obj.parentElement.parentElement.parentElement.style.width=obj.pareneTableW*1+event.clientX*1-obj.mouseDownX;
}
}
else if(IsTdArea ==3 || IsTdArea == 4)
{
if(!obj.mouseDownY) return false;
var newHeight=obj.pareneTdH*1+event.clientY*1-obj.mouseDownY;
if(newHeight>0)
{
obj.style.Height = newHeight;
obj.parentElement.parentElement.parentElement.style.Height=obj.pareneTableH*1+event.clientY*1-obj.mouseDownY;
}
}
}
else
{
MouseOverTD(obj);
}
}

function MouseUp(obj)
{
if(mouseDown == true)
{
obj.releaseCapture();
obj.mouseDownY = 0;
obj.mouseDownX=0;
mouseDown = false;
IsTdArea=0;
}
else
{
mouseDown = false;
IsTdArea=0;
}
}

function MouseOverTD(objchild)
{
var objTD = objchild;
if(mouseDown == false)
{
//获得TD所属的Table
var tbab = objTD.parentElement.parentElement.parentElement;
//获得Table的左边坐标值
var tbOffSetLeft =tbab.offsetLeft;

if(objTD.offsetLeft <=(event.x+1) && objTD.offsetLeft >= (event.x-1))
{
//调整左边
IsTdArea = 1;
objTD.style.cursor ="w-resize";
window.document.getElementById("Table1").style.cursor = "w-resize";
}
else if((objTD.offsetLeft+objTD.offsetWidth) <= (event.x+1) && (objTD.offsetLeft+objTD.offsetWidth) >= (event.x-1))
{
//调整右边
IsTdArea = 2;
objTD.style.cursor ="w-resize";
}
else if(objTD.offsetTop <= (event.y+1) && objTD.offsetTop >= (event.y-1))
{
//调整上边
IsTdArea = 3;
objTD.style.cursor ="s-resize";
}
else if((objTD.offsetTop+objTD.offsetHeight) <= (event.y+1) && (objTD.offsetTop+objTD.offsetHeight) >= (event.y-1))
{
//调整下边
IsTdArea = 4;
objTD.style.cursor ="s-resize";
}
else
{
IsTdArea = 0;
objTD.style.cursor = "auto";
}
}
}

</script>

在后台.cs中以下事件中写如下代码:

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
for(int i = 0; i < 3;i ++)
{
e.Item.Cells[i].Attributes.Add("onmouseover","MouseOverTD(this)");
e.Item.Cells[i].Attributes.Add("onmousedown","MouseDown(this);");
e.Item.Cells[i].Attributes.Add("onmousemove","MouseMove(this);");
e.Item.Cells[i].Attributes.Add("onmouseup","MouseUp(this);");
}
}

OK执行一下,鼠标拖动DataGrid的列试试
DataGrid数据接收与绑定技术详解 本章围绕JSON与XML两种主流数据格式,系统讲解了其在C#环境中的解析与绑定机制。从JSON的反序列化到远程请求,再到XML的LINQ查询与数据绑定,最后通过一个配置文件读取与修改的完整示例,展示了如何将结构化数据与UI控件(如DataGrid)进行绑定。通过本章的学习,开发者将具备在实际项目中灵活处理结构化数据的能力,并能够构建出高效、可维护的界面交互逻辑。 阅读详情

相关推荐

wpf实现DataGrid列表控件实现树形结构,并且展开控件ToggleButton可以放在任意一列,也可以冻住多列不可拖动

wpf实现DataGrid列表控件实现树形结构,并且展开控件ToggleButton可以放在任意一列,也可以冻住多列不可拖动。

动态上移或下移 table表中的 td列

[code="java"] JS控制HTMLDOM表格行上下移动 1 11 上移 下移 2 22 上移...

ghjghjghj1231的博客 272

PCB设计必看:铜皮厚度与载流量的黄金比例(附实用对照表)

本文深入探讨了PCB设计中铜皮厚度与载流量的关键关系,提供了实用的对照表和设计技巧。通过分析基础原理、标准选择策略及常见误区,帮助工程师优化PCB设计,确保电路板的可靠性和安全性。特别适用于需要处理大电流或高频应用的电子设计场景。

milk8的博客 511

关于web页面表格列拖动的解决方法

       在新开发的基于J2ee的应用系统中,客户端页面输出数据用表格是在也普通不过的事了!排序的问题已经解决了,由于原来项目采用的是pb开发的,大家习惯了数据窗口的功能,提出了新的需求,为方便浏览数据,数据列是否可以随意拖动顺序由用户自动排列!    的确,这个问题相对比较困难,我本人从来没有见过这种程序。经过仔细思考,这种情况不能在服务器端处理,用户排列规则无法保存也是不断变化的。于是决定

wxwdt的专栏 1921

Android13 CarPowerManagementService onApPowerStateChange流程分析

如下为CarPower上电的流程图:下面我们从代码角度分析:在CPMS的init方法中会调用onApPowerStateChange(CpmsState.WAIT_FOR_VHAL, CarPowerManager.STATE_WAIT_FOR_VHAL); 设置ApPowerState为STATE_WAIT_FOR_VHAL: 在onApPowerStateChange中调用PowerHandler 的handlePowerStateChange方法: 在handlePowerStateChang

liuning1985622的博客 925

三极管吸潮失效分析案例

案例背景三极管也称为晶体三极管,它被视为电子电路中最重要的器件之一。三极管顾名思义具有三个电极,它最主要的功能是电流放大和开关作用。本次失效案例中的三极管在仓库存放一段时间后,在PCBA测试过程中集中发生不良。分析过程1.外观检测对失效样品进行外观检测,未发现明显破损、裂纹等不良。2.X-ray检测对失效样品进行X-ray检测,金线、绑定点未发现异常。3.开封检测对失效样品进行开封检测,发现存在键合点脱落的现象,键合点附近的晶圆破损。4.SEM检测对失效样品进行SEM检测,发现晶圆键合点位置有裂纹和破损,金

sy220504的博客 1042

datatable 拖动列宽 鼠标拖动列宽

本篇博客所用到的技术也是从别的博客学习到的,但目前找不到那篇博客的链接了。

qq_32886245的博客 4202

一文读懂,WMS仓库管理系统模块功能

对于仓库管理人员来说,仓储管理是一件需要十分负责、又精细化的工作。

深蓝易网的博客 5219

WPF 修改DataGrid的表头样式后,鼠标拖动不能改变列宽大小

最近在做一个公司的WPF项目,使用DataGrid控件实现一个表格,由于自带样式不美观,便自己修改了DataGrid的样式,修改后发现列宽不能使用鼠标作用拖动来改变列宽大小。 问题代码: <!--设置表头样式--> <Setter Property="ColumnHeaderStyle"> <Setter.Value> <Style TargetType="DataGridColumnHeader">

m0_58562381的博客 2255

STM32F4XX软件模拟I2C实现MPU6050姿态数据采集

本文详细介绍了在STM32F4XX平台上通过软件模拟I2C驱动MPU6050传感器实现姿态数据采集的完整方案。内容涵盖软件I2C的GPIO配置、核心通信函数实现、MPU6050寄存器配置详解以及数据读取处理流程,为硬件资源受限的嵌入式应用提供了灵活的解决方案,并分享了调试技巧与常见问题处理方法。

butter的博客 678

SUMO仿真教程(1) ——安装环境的设置(Windows 10系统)

SUMO安装环境的设置 目录一.SUMO下载的官方网址二.下载步骤:三.环境设置:1.打开设置环境变量的界面2.用户(Administrator)变量设置3.系统变量设置四.总述 一.SUMO下载的官方网址 sumo的下载地址: 二.下载步骤: 1.以sumo1.8.0为示例进行演示,点击下载地址; 2.选择Windows64位的安装版本,如下图所示: 3.点击对应版本会跳转到如下图所示的界面,等待几秒后会自动下载(温馨提示:请将下载路径提前设置好): 4.到目标存储路径下查看下载完成的SUMO(本

weixin_50632459的博客 1万+

创建可拖动列的DataGrid(2)

 Public nColumn As Int32 = 0 Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)  Dim _dsContacts As DataSet   装载XML数据原,注意:这里与数据原类型没有关系,换成数据库也是适用的   _dsContacts = New DataSet()

嗨!您好!Welcome my blog 900

手把手教你学Simulink——基于Simulink的PMSM MTPA + FW 全速域平滑切换策略

本文提出一种基于Simulink的PMSM全速域平滑切换控制策略,通过融合MTPA和弱磁控制(FW)实现基速附近的无冲击过渡。在过渡区采用加权融合电流给定方法,使电流超调<5%、转速波动<2%,全速域效率>90%。文章详细介绍了系统架构、核心算法及Simulink建模步骤,包括融合控制器设计、切换逻辑实现和参数优化。仿真结果表明,该方法相比传统硬切换显著改善了动态性能,并扩展了调速范围。同时提供了可直接复用的工程模板和MATLAB代码,为电机控制工程师提供了实用的全速域控制解决方案。

MHD0815的博客 79

DataGrid绑定数据显示列可拖动

在原理主要是js代码将如下代码放在.aspx中//判断鼠标是否按下var mouseDown = false;//鼠标所在区域var IsTdArea=0;//鼠标按下function MouseDown(obj){if(IsTdArea != 0){obj.mouseDownY = event.clientY;obj.mouseDownX=event.clientX;obj.parentTdH

jelink的专栏 1132

23、资产分散化与有效前沿:投资组合优化的核心策略

本文深入探讨了现代投资组合理论的核心概念,包括分散投资的重要性、均值-方差优化框架以及有效前沿的构建与应用。通过案例分析和数学模型,阐述了如何通过科学方法降低投资组合风险并实现最优风险收益权衡。文章还介绍了实际应用中的求解方法与决策流程,为投资者提供系统的投资组合优化指导。

cc789的博客 114

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

动态的管理DataGrid数据列

  在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns。其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns列;还有一种方式就是在HTML视图模式下更改HTML代码的方式增加Columns列。但是这两种方式都是在设计时进行的,一旦设计完成就无法更

1527

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

DataGrid的数据绑定

第一步:定义数据 [Bindable] private var data:ArrayCollection=new ArrayCollection(); 第二步:将数据绑定到DataGrid中 第三步:请求后台获取数据成功返回后将获取的数据存储到data中 queryData(querySuccess,quer

卷柏人生 3448

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

在DataGrid中显示图片

在DataGrid中显示图片--兼谈 DadaGrid 模板列的创建    DadaGrid 是 ASP.NET 编程中一个很重要的控件,其优良的可定制功能为提高它的表现力提供了极大的方便。除了与数据源直接绑定以外,我们还可以通过列绑定模板对 DataGrid 的列进行自定义,来按照我们设定的格式显示数据。    例如,数据表中有一个字段 f_DemoImage 用来存放图片的路径(包括图片文

Ar.鸟 788

DataGrid模板列的数据绑定表达式

DataGrid模板列的绑定表达式 普通的绑定格式: <%# DataBinder.Eval(Container, "DataItem.EventName") %> <%# DataBinder.Eval(Container.DataItem, "name") %> 2.0的绑定方式:<%# Eval("FileName", "images/thumbs...

debiaoji2545的博客 201

动态的管理ASP.NET DataGrid数据列

在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns。其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns列;还有一种方式就是在HTML视图模式下更改HTML代码的方式增加Columns列。但是这两种方式都是在设计时进行的,一旦设计完成就无法更改。

萝卜青菜 1030

数组如何绑定到DataGrid或DataList

我们经常将一个DataTable或者DataSet或者DataReader绑定到DataGrid、DataList一类的控件中,有时候需要直接绑定一个数组,特将方法在这里留个低:ArrayList values = new ArrayList();   values.Add ("北京");   values.Add ("上海");   values.Add ("广州");   values.A

johncools的博客 2107

批量获取DataGrid控件模板列中的数据

 

zgh2002007的专栏 1470

关于DataGrid Web控件的热门问题

 关于DataGrid Web控件的热门问题    文章译自在工作过程中遇到的实际问题,而查的MSDN,当时没有找到中文资料,网上关于此方面的实用的资料也不多,有心收集下来并翻译,在此与大家交流,欢迎批评指正:chaowang2008@yahoo.com.cn内容——序言:Windows窗体&Web窗体中的DataGrid控件①.控制列的宽度、高度和对齐方式。②.制定列的显示和编辑

chaowang2008的专栏 771
上一篇: Datalist主细表
下一篇: 创造收藏夹中/地址栏中左边的个性化图标
web718
博客等级 码龄22年 34粉丝 280原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值