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
}
}
}
查看全文
相关阅读:
win10 激活
window10 将程序的快捷方式加到右键"发送到"
UML 类图基本了解
php move_uploaded_file 上传的文件移动带中文文件名的的问题
php 的 PHPExcel1.8.0 使用
msyql 数据类型存储大小及数据范围
MySQL数据库设计规范
测试工具
show tables 或者 show databases 结果太多如何再筛选
ubuntu 16.04 周期定时任务 crontab 的 使用
原文地址:https://www.cnblogs.com/freeliver54/p/964265.html
最新文章
书单
面向对象(多态-成员变量和成员函数)
JAVA中方法和变量在继承中的覆盖和隐藏
MySQL数据库基础总结
一枚渣渣的贝壳找房笔试惨痛经历
Java中String类new创建和直接赋值字符串的区别
Java中Scanner中nextLine()方法和next()方法的区别
一道题目关于Java类加载
Java父类调用被子类重写的方法
java中equals和==
热门文章
go面向对象之多态即接口(interface)
go语言面向对象之方法
go语言之面向对象
go语言变量作用域
go语言之map
go语言之切片即动态数组
go语言之数组
go语言之指针
go语言之goto语句和函数和defer语句
go语言之if语句和switch语句和循环语句
Copyright © 2011-2022 走看看