zoukankan
html css js c++ java
OA流程设计尝试:Div步骤拖动
前台代码:
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
DivShortMenu.aspx.cs
"
Inherits
=
"
DivShortMenu
"
%>
<!
DOCTYPE html PUBLIC
"
-//W3C//DTD XHTML 1.0 Transitional//EN
"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
"
>
<
html xmlns
=
"
http://www.w3.org/1999/xhtml
"
>
<
head runat
=
"
server
"
>
<
title
>
无标题页
</
title
>
<
script type
=
"
text/javascript
"
>
//
tdRight的范围
var startX
=
200
;
var startY
=
50
;
var endX
=
400
;
var endY
=
400
;
//
拖动的对象
var StepNum
=
0
;
var TmpStep
=
0
;
var Obj;
function DragStart(obj)
{
//
---------复制 开始----------
var i
=
0
;
var newName
=
obj.id
+
"
1
"
;
if
(document.all(newName)
!=
null
)
{
return
false
;
}
while
(document.all(newName)
!=
null
)
{
i
++
;
newName
=
obj.id
+
i;
}
var ii
=
0
;
for
(var j
=
0
;j
<
document.all(
"
tdRight
"
).children.length;j
++
)
{
var tmpObj
=
document.all(
"
tdRight
"
).children[j];
if
(tmpObj.id.substr(
0
,
3
)
==
"
div
"
)
{
ii
++
;
}
}
if
(ii
==
0
)
{
StepNum
=
0
;
}
var nowStep
=
0
;
if
(TmpStep
!=
0
)
{
nowStep
=
TmpStep;
}
else
{
StepNum
++
;
nowStep
=
StepNum;
}
var strHTML
=
"
<div id='
"
+
newName
+
"
'
"
;
strHTML
+=
"
divValue='
"
+
obj.divValue
+
"
'
"
;
strHTML
+=
"
divName='
"
+
obj.divName
+
"
'
"
;
strHTML
+=
"
divStep='
"
+
nowStep
+
"
'
"
;
strHTML
+=
"
onmousedown=MouseDown(this)
"
;
strHTML
+=
"
onmousemove=MouseMove()
"
;
strHTML
+=
"
onmouseup=MouseUp()
"
;
strHTML
+=
"
style='position:absolute; 100px; height: 20px; border-right: green thin solid; border-top: green thin solid; border-left: green thin solid; border-bottom: green thin solid;
"
;
strHTML
+=
"
top:
"
+
obj.style.top
+
"
; left:
"
+
obj.style.left
+
"
'
"
;
strHTML
+=
"
>
"
;
strHTML
+=
"
<table width='100%'><tr>
"
;
//
strHTML+= " <td style='font-size: 15px;' >第<input id='Text1' style='20;' type='text' value='"+StepNum+"' />步</td> ";
strHTML
+=
"
<td style='font-size: 15px;' >第
"
+
nowStep
+
"
步</td>
"
;
strHTML
+=
"
<td align='right' style='font-size: 10px;' onclick='fn_divClose(
"
+
newName
+
"
)'>关闭</td>
"
;
strHTML
+=
"
</tr>
"
;
strHTML
+=
"
<tr><td colspan='2'>
"
;
strHTML
+=
obj.innerText;
strHTML
+=
"
</td></tr>
"
;
strHTML
+=
"
</table>
"
;
strHTML
+=
"
</div>
"
;
document.all(
"
tdRight
"
).innerHTML
+=
strHTML;
Obj
=
document.all(newName);
//
---------复制 结束----------
TmpStep
=
0
;
//
清空重复步
//
Obj = obj;
Obj.setCapture();
Obj.l
=
event
.x
-
Obj.style.pixelLeft;
Obj.t
=
event
.y
-
Obj.style.pixelTop;
}
function fn_divClose(divName)
{
var nowDelStep
=
divName.divStep;
divName.removeNode(
true
);
StepNum
--
;
//
相关的步骤名称
for
(var j
=
0
;j
<
document.all(
"
tdRight
"
).children.length;j
++
)
{
var tmpObj
=
document.all(
"
tdRight
"
).children[j];
if
(tmpObj.id.substr(
0
,
3
)
==
"
div
"
)
{
if
(tmpObj.divStep
>
nowDelStep)
{
var tmpStep
=
parseInt(tmpObj.divStep)
-
1
;
tmpObj.divStep
=
tmpStep ;
tmpObj.children(
0
).children(
0
).children(
0
).children(
0
).innerText
=
"
第
"
+
tmpStep
+
"
步
"
;
}
}
}
}
function MouseDown(obj)
{
Obj
=
obj;
Obj.setCapture();
Obj.l
=
event
.x
-
Obj.style.pixelLeft;
Obj.t
=
event
.y
-
Obj.style.pixelTop;
}
function fn_onclick(obj)
{
}
function MouseMove()
{
if
(Obj
!=
null
)
{
//
var XX = event.x;
//
var YY = event.y;
//
if(XX<startX)
//
XX=startX;
//
if(XX>endX)
//
XX=endX;
//
if(YY<startY)
//
YY=startY;
//
if(YY>endY)
//
yy=endY;
//
//
Obj.style.left = XX-Obj.l;
//
Obj.style.top = YY-Obj.t;
Obj.style.left
=
event
.x
-
Obj.l;
Obj.style.top
=
event
.y
-
Obj.t;
}
}
function MouseUp()
{
if
(Obj
!=
null
)
{
Obj.releaseCapture();
Obj
=
null
;
}
}
function fn_btn_onclick()
{
//
得到目前tdRight中的div对象
var i
=
0
;
var str
=
""
;
for
(var j
=
0
;j
<
document.all(
"
tdRight
"
).children.length;j
++
)
{
var tmpObj
=
document.all(
"
tdRight
"
).children[j];
if
(tmpObj.id.substr(
0
,
3
)
==
"
div
"
)
{
i
++
;
str
+=
tmpObj.divValue
+
tmpObj.divName
+
"
-
"
;
}
}
document.all(
"
Text1
"
).value
=
i;
document.all(
"
Text2
"
).value
=
str;
}
function fn_btn2_onclick()
{
if
(document.all(
"
Text3
"
).value
!=
""
)
{
if
(document.all(
"
Text3
"
).value
<=
StepNum)
{
TmpStep
=
document.all(
"
Text3
"
).value;
}
}
}
</
script
>
</
head
>
<
body
>
<
form id
=
"
form1
"
runat
=
"
server
"
>
<
table border
=
"
1
"
bordercolor
=
"
black
"
>
<
tr height
=
"
400
"
valign
=
"
top
"
>
<
td runat
=
"
server
"
id
=
"
tdLeft
"
width
=
"
110
"
style
=
"
border-right: black 1px solid;
"
>
</
td
>
<
td runat
=
"
server
"
id
=
"
tdRight
"
width
=
"
400
"
></
td
>
</
tr
>
</
table
>
<
input id
=
"
Button1
"
type
=
"
button
"
value
=
"
查看步骤
"
onclick
=
"
fn_btn_onclick();
"
/>
<
input id
=
"
Text1
"
type
=
"
text
"
/>
<
input id
=
"
Text2
"
type
=
"
text
"
/>
<
input id
=
"
Button2
"
type
=
"
button
"
value
=
"
一步多对象
"
onclick
=
"
fn_btn2_onclick();
"
/>
<
input id
=
"
Text3
"
type
=
"
text
"
/>
</
form
>
</
body
>
</
html
>
后台代码:
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
public
partial
class
DivShortMenu : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(
!
IsPostBack)
{
构造数据源dt
#region
构造数据源dt
DataTable dt
=
new
DataTable();
dt.Columns.Add(
"
tmpID
"
);
dt.Columns.Add(
"
tmpName
"
);
DataRow dr1
=
dt.NewRow();
dr1[
"
tmpID
"
]
=
"
001
"
;
dr1[
"
tmpName
"
]
=
"
张三
"
;
dt.Rows.Add(dr1);
DataRow dr2
=
dt.NewRow();
dr2[
"
tmpID
"
]
=
"
002
"
;
dr2[
"
tmpName
"
]
=
"
李四
"
;
dt.Rows.Add(dr2);
DataRow dr3
=
dt.NewRow();
dr3[
"
tmpID
"
]
=
"
003
"
;
dr3[
"
tmpName
"
]
=
"
王五
"
;
dt.Rows.Add(dr3);
DataRow dr4
=
dt.NewRow();
dr4[
"
tmpID
"
]
=
"
004
"
;
dr4[
"
tmpName
"
]
=
"
赵六
"
;
dt.Rows.Add(dr4);
#endregion
绑定到页面显示
#region
绑定到页面显示
string
strHTML
=
""
;
for
(
int
i
=
0
; i
<
dt.Rows.Count; i
++
)
{
strHTML
+=
"
<div style=' position:absolute; left:10px; top:
"
+
(
20
+
i
*
20
)
+
"
px; 100px; height: 20px; border-right: green thin solid; border-top: green thin solid; border-left: green thin solid; border-bottom: green thin solid;'
"
;
strHTML
+=
"
id=div
"
+
dt.Rows[i][
"
tmpID
"
].ToString().Trim()
+
"
"
;
strHTML
+=
"
divValue=
"
+
dt.Rows[i][
"
tmpID
"
].ToString().Trim();
strHTML
+=
"
divName=
"
+
dt.Rows[i][
"
tmpName
"
].ToString().Trim();
strHTML
+=
"
divStep=0
"
;
strHTML
+=
"
onmousedown='DragStart(this)'
"
;
strHTML
+=
"
>
"
;
strHTML
+=
dt.Rows[i][
"
tmpName
"
].ToString().Trim();
strHTML
+=
"
</div>
"
;
}
this
.tdLeft.InnerHtml
=
strHTML;
#endregion
}
}
}
TrackBack:
http://www.cnblogs.com/freeliver54/archive/2007/11/19/964265.html
查看全文
相关阅读:
电信生命周期说明
find in linux 2 微信公众号
GDB中应该知道的几个调试方法 2 微信公众号
linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: rg), 且有vim插件的 2 微信公众号
linux下的 c 和 c++ 开发工具及linux内核开发工具 2 微信公众号
linux下命令行发送邮件的软件:mutt 微信公众号
腺样体肿大的综合治疗考虑 微信公众号
打呼噜治疗方法 微信公众号
vim 操作 2 微信公众号
nginx之外的web 服务器caddy 微信公众号
原文地址:https://www.cnblogs.com/hdjjun/p/1223961.html
最新文章
面试官:HashSet如何保证元素不重复?
保姆级教程,终于搞懂脏读、幻读和不可重复读了!
更快的Maven来了,我的天,速度提升了8倍!
HashMap有几种遍历方法?推荐使用哪种?
面试官:final、finally、finalize 有什么区别?
在Java中为什么不同的返回类型不算方法重载?
35岁大龄程序员转行前端一年多(15个月)的总结和规划
2021 编程语言排行榜出炉!C#年度语言奖
RDIFramework.NET开发框架用户字典助力Saas数据字典应用
SQLServer中的CTE(Common Table Expression)通用表表达式使用详解
热门文章
Microsoft.Bcl.Async 使用总结在.NET Framework 4.5项目上使用.NET Framework 4.5版本及以上版本才可以使用C# 5中的async/await异步特性
安卓ADB进不去的几种情况及处理!
NET Framework 系统要求
使用nssm将命令行启动的应用程序(.exe,.bat等)注册成windows后台服务
TPL DataFlow初探(一)
家庭清洁
微信内置浏览器H5如何清除缓存以及cookie和localStorage何时清除
mysql 替换字段中某个字符串
ConfigureAwait(false)
生活点摘记
Copyright © 2011-2022 走看看