温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:简单WEB流程图组件Demo源码
当前文件:
WorkFlowChartDemo/WorkFlowChart.aspx.cs[5K,2009-6-12 11:58:39],打开代码结构图
WorkFlowChartDemo/WorkFlowChart.aspx.cs[5K,2009-6-12 11:58:39],打开代码结构图1using System; 2
using System.Data; 3
using System.Configuration; 4
using System.Collections; 5
using System.Collections.Generic; 6
using System.Web; 7
using System.Web.Security; 8
using System.Web.UI; 9
using System.Web.UI.WebControls; 10
using System.Web.UI.WebControls.WebParts; 11
using System.Web.UI.HtmlControls; 12
using System.Text; 13
using WorkFlowChart; 14
15
public partial class Ctr_WorkFlow_WorkFlowChart : System.Web.UI.Page 16
{ 17
protected void Page_Load(object sender, EventArgs e) 18
{ 19
this.Header.Title = "这个是51aspx测试流程" + this.Header.Title; 20
21
StringBuilder sbMap = new StringBuilder(); 22
sbMap.Append("<map name=\"FPMap0\">"); 23
24
int x = 200; 25
int y = 50; 26
int w = 120; 27
int h = 60; 28
29
//使用xml文件作為數據源 30
//string path = this.Request.MapPath("Data.xml"); 31
//Dictionary<string, string> dicMap = DrawCommon.GetMapXmlPath(x, y, w, h, path); 32
33
//使用xml字符串作為數據源 34
StringBuilder sbXmlString = new StringBuilder(); 35
sbXmlString.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?><root><Attributes><Width>120</Width><Height>60</Height></Attributes><TaskNodes>"); 36
sbXmlString.Append("<Task><TaskType>Start</TaskType><TaskCode>Start</TaskCode></Task>"); 37
38
sbXmlString.Append("<Task><TaskType>Normal</TaskType><TaskCode>OpenForm</TaskCode><Title><TitleLine>51aspx开单</TitleLine><TitleLine>小刘</TitleLine></Title><TaskStatus>Completed</TaskStatus></Task>"); 39
sbXmlString.Append("<Task><TaskType>Normal</TaskType><TaskCode>GroupApprove</TaskCode><Title><TitleLine>组级审批</TitleLine><TitleLine>王XX</TitleLine></Title><TaskStatus>Completed</TaskStatus></Task>"); 40
sbXmlString.Append("<Task><TaskType>Normal</TaskType><TaskCode>SectionApprove</TaskCode><Title><TitleLine>課級審覈</TitleLine><TitleLine>劉XX</TitleLine></Title><TaskStatus>Ready</TaskStatus></Task>"); 41
sbXmlString.Append("<Task><TaskType>MulApprove</TaskType><TaskCode>ManageApprove</TaskCode>"); 42
sbXmlString.Append("<Task><TaskType>Normal</TaskType><TaskCode>ManageApprove0</TaskCode><Title><TitleLine>理級審覈</TitleLine><TitleLine>51aspx</TitleLine></Title><TaskStatus>InActive</TaskStatus></Task>"); 43
sbXmlString.Append("<Task><TaskType>Normal</TaskType><TaskCode>ManageApprove1</TaskCode><Title><TitleLine>理級審覈</TitleLine><TitleLine>趙XX</TitleLine></Title><TaskStatus>Waiting</TaskStatus></Task>"); 44
sbXmlString.Append("<Task><TaskType>Normal</TaskType><TaskCode>ManageApprove2</TaskCode><Title><TitleLine>理級審覈</TitleLine><TitleLine>湯XX</TitleLine></Title><TaskStatus>InActive</TaskStatus></Task>"); 45
sbXmlString.Append("</Task>"); 46
sbXmlString.Append("<Task><TaskType>Normal</TaskType><TaskCode>EndApprove</TaskCode><Title><TitleLine>終級審覈</TitleLine><TitleLine>朱XX</TitleLine></Title><TaskStatus>InActive</TaskStatus></Task>"); 47
48
sbXmlString.Append("<Task><TaskType>End</TaskType><TaskCode>End</TaskCode></Task></TaskNodes>"); 49
50
//添加兩種特殊連線 51
sbXmlString.Append("<Lines>"); 52
sbXmlString.Append("<Line>"); 53
sbXmlString.Append("<LineType>Back</LineType>"); 54
sbXmlString.Append("<LineStart>GroupApprove</LineStart>"); 55
sbXmlString.Append("<LineEnd>OpenForm</LineEnd>"); 56
sbXmlString.Append("</Line>"); 57
sbXmlString.Append("<Line>"); 58
sbXmlString.Append("<LineType>Back</LineType>"); 59
sbXmlString.Append("<LineStart>SectionApprove</LineStart>"); 60
sbXmlString.Append("<LineEnd>OpenForm</LineEnd>"); 61
sbXmlString.Append("</Line>"); 62
sbXmlString.Append("<Line>"); 63
sbXmlString.Append("<LineType>Back</LineType>"); 64
sbXmlString.Append("<LineStart>ManageApprove</LineStart>"); 65
sbXmlString.Append("<LineEnd>OpenForm</LineEnd>"); 66
sbXmlString.Append("</Line>"); 67
sbXmlString.Append("<Line>"); 68
sbXmlString.Append("<LineType>Break</LineType>"); 69
sbXmlString.Append("<LineStart>OpenForm</LineStart>"); 70
sbXmlString.Append("<LineEnd>SectionApprove</LineEnd>"); 71
sbXmlString.Append("</Line>"); 72
sbXmlString.Append("<Line>"); 73
sbXmlString.Append("<LineType>Break</LineType>"); 74
sbXmlString.Append("<LineStart>GroupApprove</LineStart>"); 75
sbXmlString.Append("<LineEnd>ManageApprove</LineEnd>"); 76
sbXmlString.Append("</Line>"); 77
sbXmlString.Append("</Lines>"); 78
sbXmlString.Append("</root>"); 79
80
int ImgWidth=800; 81
int ImgHeight = 600; 82
83
Dictionary<string, int> dicSize = DrawCommon.GetSizeXmlString(x, y, w, h, sbXmlString.ToString()); 84
if (dicSize["ImgWidth"] != 0 && dicSize["ImgHeight"]!=0) 85
{ 86
ImgWidth = dicSize["ImgWidth"]; 87
ImgHeight = dicSize["ImgHeight"]; 88
} 89
90
Dictionary<string, string> dicMap = DrawCommon.GetMapXmlString(x, y, w, h, sbXmlString.ToString()); 91
92
Session["WorkFlowChartData"] = sbXmlString.ToString(); 93
Session["ImgWidth"] = ImgWidth.ToString(); 94
Session["ImgHeight"] = ImgHeight.ToString(); 95
96
97
NPlotChart_Image.ImageUrl = "WorkFlowChartImg.aspx?x=" + x + "&w=" + w + "&y=" + y + "&h=" + h; 98
99
foreach (string TaskCode in dicMap.Keys) 100
{ 101
string[] arr = dicMap[TaskCode].ToString().Split('&'); 102
103
sbMap.Append("<area target=\"blank\" href=\"http://www.51aspx.com/?TaskCode=" + TaskCode + "\" shape=\"rect\" coords=\"" + arr[0] + ", " + arr[1] + ", " + Convert.ToString(Convert.ToInt32(arr[0]) + Convert.ToInt32(arr[2])) + ", " + Convert.ToString(Convert.ToInt32(arr[1]) + Convert.ToInt32(arr[3])) + "\">"); 104
105
} 106
107
108
sbMap.Append("</map>"); 109
divMap.InnerHtml = sbMap.ToString(); 110
111
} 112
} 113






}
}