private void LoadData() { int flowId = Convert.ToInt32(Request.QueryString["id"]); WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(flowId); //WX.Flow.Model.Flow.NewDataModel(flowId); flow.LoadProcessList(true); //初始化txtNodeId if (flow.ProcessList == null) { this.txtNodeId.Text = "1"; } else { this.txtNodeId.Text = Convert.ToString(flow.ProcessList.Count + 1); } //填充 if (flow.ProcessList != null) { foreach (Process.MODEL prcs in flow.ProcessList) { this.ListBox2.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString())); this.ListBox4.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString())); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //进入条件 WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(rFlowId); //WX.Flow.Model.Flow.NewDataModel(rFlowId); this.FormId = flow.FormId.ToInt32(); MenuBar1.Param1 = this.rFlowId.ToString(); bool b = flow.GetProcessByStep(1).GetInAccess(null); if (b == false) { this.btnSubmit.Enabled = false; this.tooltip.InnerText = flow.GetProcessByStep(1).GetInMsg(null); } //填充流程信息及新工作流水号 flow.LoadNumberRule(false); string name = flow.Name.value.ToString(); string number = flow.NumberRule.GetValue(); this.txtSerialNumber.Text = number; //String.Format("{0}({1})", name, number); this.txtDescription.Text = flow.Description.value.ToString(); //填充流程步骤列表 flow.LoadProcessList(false); var process = flow.ProcessList; //var process = Process.Caches.FindAll(delegate(Process.MODEL dele) { return dele.Id.ToInt32() == rFlowId; });//WX.Flow.Model.Process.GetModels("SELECT * FROM FL_Process WHERE FlowId=" + rFlowId); var query = process.Select(p => new { StepNo = p.GetFieldValue("StepNo").ToString(), Name = p.GetFieldValue("Name").ToString(), NextNode = ShowNextNode(p.GetFieldValue("Next_Nodes").ToString()) }); this.ProcessRepeater.DataSource = query; this.ProcessRepeater.DataBind(); } }
protected void btnSubmit_Click(object sender, EventArgs e) { //Process.MODEL process = new Process.MODEL(); WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(rFlowId); //WX.Flow.Model.Flow.NewDataModel(rFlowId); flow.LoadProcessList(false); if (flow.GetProcessByStep(1).ExecIn(null) == 0) { ULCode.Debug.Alert(this, "程序出错,请联系管理员!"); return; } int newRunId = flow.NewWork(this.txtSerialNumber.Text); this.Save(newRunId, 1); if (newRunId > 0) { WX.Flow.Model.Run.MODEL runmodel = WX.Flow.Model.Run.GetModel("select * from FL_Run where Id=" + newRunId); WX.Flow.Model.Process.MODEL process = WX.Flow.Model.Process.GetCache(runmodel.FlowId.ToInt32(), runmodel.StepNo.ToInt32()); WX.Model.User.MODEL squser = WX.Model.User.NewDataModel(runmodel.BeginUser.ToString()); if (process.Auto_Type.ToString() == "1")//经办人为流程发起人的 { WX.Main.MessageSend("<a href=/Manage/Work/Work_MyCheck.aspx?flag=0&mes=1>" + flow.Name.ToString() + "(" + WX.CommonUtils.GetRealNameListByUserIdList(runmodel.BeginUser.ToString()) + ")——请尽快审批!</a>", "/Manage/Main/messagelist.aspx", runmodel.BeginUser.ToString(), WX.Main.CurUser.UserID, 12, 0); } else if (process.Auto_Type.ToString() == "2")//经办人为部门主管的 { WX.Main.MessageSend("<a href=/Manage/Work/Work_MyCheck.aspx?flag=0&mes=1>" + flow.Name.ToString() + "(" + WX.CommonUtils.GetRealNameListByUserIdList(runmodel.BeginUser.ToString()) + ")——请尽快审批!</a>", "/Manage/Main/messagelist.aspx", WX.CommonUtils.GetDeptUserID(1, "[Host]", squser.DepartmentID.ToInt32()), WX.Main.CurUser.UserID, 12, 0); } else if (process.Auto_Type.ToString() == "4") { WX.Main.MessageSend("<a href=/Manage/Work/Work_MyCheck.aspx?flag=0&mes=1>" + flow.Name.ToString() + "(" + WX.CommonUtils.GetRealNameListByUserIdList(runmodel.BeginUser.ToString()) + ")——请尽快审批!</a>", "/Manage/Main/messagelist.aspx", WX.CommonUtils.GetParentDeptHost(squser.DepartmentID.ToInt32(), "Host"), WX.Main.CurUser.UserID, 12, 0); } else if (process.Auto_Type.ToString() == "5") { WX.Main.MessageSend("<a href=/Manage/Work/Work_MyCheck.aspx?flag=0&mes=1>" + flow.Name.ToString() + "(" + WX.CommonUtils.GetRealNameListByUserIdList(runmodel.BeginUser.ToString()) + ")——请尽快审批!</a>", "/Manage/Main/messagelist.aspx", WX.CommonUtils.GetParentDeptHost(squser.DepartmentID.ToInt32(), "SubHosts"), WX.Main.CurUser.UserID, 12, 0); } else { System.Data.DataTable dt = ULCode.QDA.XSql.GetDataTable("select UserID from Tu_Users where 1=1" + (process.Priv_UserList.ToString() != "" ? " and UserID in(" + process.Priv_UserList.ToString() + ")" : "") + (process.Priv_DutyList.ToString() != "" ? " and DutyId in(select ID from TE_DutyDetail where DutyID in(" + process.Priv_DutyList.ToString() + "))" : "") + (process.Priv_DeptList.ToString() != "" ? " and Priv_DeptList in(" + process.Priv_DeptList.ToString() + ")" : "")); for (int i = 0; i < dt.Rows.Count; i++) { WX.Main.MessageSend("<a href=/Manage/Work/Work_MyCheck.aspx?flag=0&mes=1>" + flow.Name.ToString() + "(" + WX.CommonUtils.GetRealNameListByUserIdList(runmodel.BeginUser.ToString()) + ")——请尽快审批!</a>", "/Manage/Main/messagelist.aspx", dt.Rows[i][0].ToString(), WX.Main.CurUser.UserID, 12, 0); } } //转到下一页 Response.Redirect("/Manage/Work/Work_MyWork.aspx?flag=0 "); } }
protected void btnSubmit_Click(object sender, EventArgs e) { //Process.MODEL process = new Process.MODEL(); WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(rFlowId); //WX.Flow.Model.Flow.NewDataModel(rFlowId); flow.LoadProcessList(false); if (flow.GetProcessByStep(1).ExecIn(null) == 0) { ULCode.Debug.Alert(this, "程序出错,请联系管理员!"); return; } int newRunId = flow.NewWork(this.txtSerialNumber.Text); if (newRunId > 0) { //转到下一页 Response.Redirect(String.Format("Run_SignForm.aspx?Run_ID={0}&Flow_Id={1}&Step_Id={2}", newRunId, flow.Id, 1), true); } }
protected void Button1_Click(object sender, EventArgs e) { WX.XZ.Train.MODEL trainmodel = WX.XZ.Train.NewDataModel(Request["TrainID"]); WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(trainmodel.FlowID.ToInt32()); //WX.Flow.Model.Flow.NewDataModel(rFlowId); flow.LoadProcessList(false); if (flow.GetProcessByStep(1).ExecIn(null) == 0) { ULCode.Debug.Alert(this, "程序出错,请联系管理员!"); return; } int newRunId = flow.NewWork("《" + flow.Name.ToString() + "》学习心得"); this.Save(newRunId, 1); WX.XZ.TrainUsers.MODEL tusermodel = WX.XZ.TrainUsers.GetModelToTrainID(trainmodel.ID.ToInt32(), WX.Main.CurUser.UserID); tusermodel.RunID.value = newRunId; tusermodel.State.value = 2; tusermodel.Update(); ULCode.Debug.Alert(this, "提交成功!"); Button1.Visible = false; }
private void LoadData() { int flowId = Convert.ToInt32(Request.QueryString["flowid"]); int Id = Convert.ToInt32(Request.QueryString["id"]); WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(flowId); //WX.Flow.Model.Flow.NewDataModel(flowId); flow.LoadProcessList(true); Process.MODEL process = WX.Flow.Model.Process.GetCache(Id); //Process.NewDataModel(Id); process.LoadNextProcessList(true); process.LoadNotbyProcessList(true); this.txtNodeId.Text = process.StepNo.ToString(); this.txtNodeName.Text = process.Name.ToString(); this.ddlNodeType.SelectedValue = process.NodeType.ToString(); if (process.NextProcessList != null) { foreach (Process.MODEL prcs in process.NextProcessList) { this.ListBox1.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString())); } } foreach (Process.MODEL prcs in process.NotbyProcessList) { this.ListBox3.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString())); } if (flow.ProcessList != null) { foreach (Process.MODEL prcs in flow.ProcessList) { if (process.NextProcessList == null || !process.NextProcessList.Exists(delegate(Process.MODEL prcs_dele) { return(prcs.Id.ToInt32() == prcs_dele.Id.ToInt32()); })) { this.ListBox2.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString())); } if (process.NotbyProcessList == null || !process.NotbyProcessList.Exists(delegate(Process.MODEL prcs_dele) { return(prcs.Id.ToInt32() == prcs_dele.Id.ToInt32()); })) { this.ListBox4.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString())); } } } }
protected void SubmitData3(object sender, EventArgs e) { WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(14); //WX.Flow.Model.Flow.NewDataModel(rFlowId); flow.LoadProcessList(false); if (flow.GetProcessByStep(1).ExecIn(null) == 0) { ULCode.Debug.Alert(this, "程序出错,请联系管理员!"); return; } int newRunId; if (WX.Request.rNotifyFileId > 0) { newRunId = WX.Request.rNotifyFile.RunID.ToInt32(); } else { newRunId = flow.NewWork(flow.Name.ToString() + "——" + ui_title.Text); } this.Save(newRunId, 2); SaveData(3, newRunId); //返回处理结果或返回其它页面。 Response.Redirect("MyFiles.aspx"); }
protected void Page_Load(object sender, EventArgs e) { if (!this.Master.A_Edit) { Response.Write("你没有权限访问此功能!"); Response.End(); return; } if (Request["flowid"] != null) { try { fid = Convert.ToInt32(Request["flowid"]); } catch { } if (!IsPostBack) { WX.Flow.Model.Flow.MODEL model = WX.Flow.Model.Flow.GetCache(fid); //WX.Flow.Model.Flow.GetModel("select * from FL_Flows where ID=" + fid); if (model != null) { model.LoadForm(false); WX.Flow.Model.Form.MODEL formmodel = model.Form; //WX.Flow.Model.Form.GetModel("select * from FL_Forms where ID=" + model.FormId.value); foreach (WX.Flow.FormField ff in formmodel.Items_FormFieldCollection) { drop_items.Items.Add(new ListItem(ff.Text, ff.Id)); } } //DataTable dt = ULCode.QDA.XSql.GetDataTable("select Name,StepNo from FL_Process where FlowId=" + fid); //for (int i = 0; i < dt.Rows.Count; i++) model.LoadProcessList(false); if (model.ProcessList != null) { foreach (WX.Flow.Model.Process.MODEL prcs in model.ProcessList) { AUTO_PRCS_USER.Items.Add(new ListItem(prcs.Name.ToString(), prcs.StepNo.ToString())); } } AUTO_PRCS_USER.SelectedValue = Request["id"]; WX.Flow.Model.Process.MODEL procss = WX.Flow.Model.Process.GetCache(Convert.ToInt32(Request["id"]));//WX.Flow.Model.Process.GetModel("select * from FL_Process where Id="+Request["id"]); if (procss != null) { WX.Data.Dict.BindListCtrl_enum_AutoOpMode(this.TOP_DEFAULT, null, null, procss.Auto_OPMode.ToString()); USER_LOCK.SelectedValue = procss.Auto_OpChangeMode.ToString(); WX.Data.Dict.BindListCtrl_enum_AutoSelOpFilter(this.USER_FILTER, null, null, procss.Auto_FilterMode.ToString()); WX.Data.Dict.BindListCtrl_enum_AutoSelOpType(this.AUTO_TYPE, null, null, procss.Auto_Type.ToString()); AUTO_PRCS_USER.SelectedValue = procss.Auto_BaseUnit.ToString(); drop_items.SelectedValue = procss.Auto_Item.ToString(); AUTO_USER.Value = procss.Auto_UserList.ToString(); if (procss.Auto_UserList.ToString() != "") { AUTO_USER_NAME.Text = ULCode.QDA.XSql.GetXDataTable("SELECT RealName FROM TU_Employees WHERE UserID in('" + procss.Auto_UserList.ToString().Replace(",", "','") + "')").ToColValueList(); } AUTO_USER_OP.Value = procss.Auto_UserOP.ToString(); if (procss.Auto_UserOP.ToString() != "") { AUTO_USER_OP_NAME.Text = ULCode.QDA.XSql.GetXDataTable("SELECT RealName FROM TU_Employees WHERE UserID in('" + procss.Auto_UserOP.ToString().Replace(",", "','") + "')").ToColValueList(); } } } } }
protected void Page_Load(object sender, EventArgs e) { StringBuilder vmlBuilder = new StringBuilder(); StringBuilder lineBuilder = new StringBuilder(); if (!IsPostBack) { WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(this.FlowId); //WX.Flow.Model.Flow.NewDataModel(this.FlowId); flow.LoadProcessList(true); if (flow.ProcessList == null || flow.ProcessList.Count == 0) { return; } foreach (WX.Flow.Model.Process.MODEL prcs in flow.ProcessList) { if (!prcs.Next_Nodes.isEmpty) { string[] steps = prcs.Next_Nodes.ToString().Split(','); foreach (string step in steps) { lineBuilder.AppendFormat("<v:line mfrID='{0}' title='' source='{0}' object='" + step + "' from='0,0' to='0,0' style='position:absolute;display:none;z-index:2' arcsize='4321f' coordsize='21600,21600'><v:stroke endarrow='classic'></v:stroke><v:shadow on='T' type='single' color='#b3b3b3' offset='1px,1px'/></v:line>\r\n", prcs.StepNo); } } if (prcs.StepNo.ToInt32() == 1) { vmlBuilder.AppendFormat("<v:oval id='" + prcs.StepNo.ToString() + "' table_id='" + prcs.Id.ToString() + "' flowId='" + prcs.FlowId.ToString() + "' flowType='start' passCount='0' flowTitle='<b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "' flowFlag='0' readOnly='0' receiverID='' receiverName='' fillcolor='#50A625' onDblClick='Edit_Process(" + prcs.Id.ToString() + ");' style='LEFT: " + prcs.VML_Left.ToString() + "; TOP:" + prcs.VML_Top.ToString() + "; WIDTH: 120; POSITION: absolute; HEIGHT: 60;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + "暂无说明" + "'><v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "</v:textbox></v:oval>\r\n"); } else if (prcs.StepNo.ToInt32() == flow.ProcessList.Count) { vmlBuilder.Append("<v:oval id='" + prcs.StepNo.ToString() + "' table_id='" + prcs.Id.ToString() + "' flowId='" + prcs.FlowId.ToString() + "' flowType='end' passCount='0' flowTitle='<b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "' flowFlag='0' readOnly='0' receiverID='' receiverName='' fillcolor='#F4A8BD' onDblClick='Edit_Process(" + prcs.Id.ToString() + ");' style='LEFT: " + prcs.VML_Left.ToString() + "; TOP:" + prcs.VML_Top.ToString() + "; WIDTH: 120; POSITION: absolute; HEIGHT: 60;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + "暂无说明" + "'><v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "</v:textbox></v:oval>\r\n"); } else { vmlBuilder.Append("<v:roundrect inset='2pt,2pt,2pt,2pt' id='" + prcs.StepNo.ToString() + "' table_id='" + prcs.Id.ToString() + "' flowId='" + prcs.FlowId.ToString() + "' flowType='' passCount='0' flowTitle='<b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "' flowFlag='0' readOnly='0' receiverID='' receiverName='' fillcolor='#EEEEEE' onDblClick='Edit_Process(" + prcs.Id.ToString() + ");' style='LEFT: " + prcs.VML_Left.ToString() + "; TOP:" + prcs.VML_Top.ToString() + "; WIDTH: 100; POSITION: absolute; HEIGHT: 50;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + "暂无说明" + "'> <v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "</v:textbox></v:roundrect>\r\n"); } } /* * int rowCount = dataTable.Rows.Count; * if (rowCount == 1) * { * foreach (DataRow row in dataTable.Rows) * { * string[] steps = row["NextStep"].ToString().Split(','); * foreach (string step in steps) * { * lineBuilder.Append("<v:line mfrID='" + row["NodeId"] + "' title='' source='" + row["NodeId"] + "' object='" + step + "' from='0,0' to='0,0' style='position:absolute;display:none;z-index:2' arcsize='4321f' coordsize='21600,21600'><v:stroke endarrow='classic'></v:stroke><v:shadow on='T' type='single' color='#b3b3b3' offset='1px,1px'/></v:line>\r\n"); * } * vmlBuilder.Append("<v:oval id='" + row["NodeId"] + "' table_id='" + row["ID"] + "' flowId='" + row["FlowID"] + "' flowType='start' passCount='0' flowTitle='<b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "' flowFlag='0' readOnly='0' receiverID='' receiverName='' fillcolor='#50A625' onDblClick='Edit_Process(104);' style='LEFT: " + row["Left"] + "; TOP:" + row["Top"] + "; WIDTH: 120; POSITION: absolute; HEIGHT: 60;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + row["NodeDescription"].ToString() + "'><v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "</v:textbox></v:oval>\r\n"); * * } * } * else * { * foreach (DataRow row in dataTable.Rows) * { * string[] steps = row["NextStep"].ToString().Split(','); * foreach (string step in steps) * { * lineBuilder.Append("<v:line mfrID='" + row["NodeId"] + "' title='' source='" + row["NodeId"] + "' object='" + step + "' from='0,0' to='0,0' style='position:absolute;display:none;z-index:2' arcsize='4321f' coordsize='21600,21600'><v:stroke endarrow='classic'></v:stroke><v:shadow on='T' type='single' color='#b3b3b3' offset='1px,1px'/></v:line>\r\n"); * } * if (Convert.ToInt32(row["NodeId"]) == 1) * { * vmlBuilder.Append("<v:oval id='" + row["NodeId"] + "' table_id='" + row["ID"] + "' flowId='" + row["FlowID"] + "' flowType='start' passCount='0' flowTitle='<b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "' flowFlag='0' readOnly='0' receiverID='' receiverName='' fillcolor='#50A625' onDblClick='Edit_Process(" + row["FlowID"].ToString() + "," + row["NodeId"].ToString() + ");' style='LEFT: " + row["Left"] + "; TOP:" + row["Top"] + "; WIDTH: 120; POSITION: absolute; HEIGHT: 60;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + row["NodeDescription"].ToString() + "'><v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "</v:textbox></v:oval>\r\n"); * } * else if (Convert.ToInt32(row["NodeId"]) == rowCount) * { * vmlBuilder.Append("<v:oval id='" + row["NodeId"] + "' table_id='" + row["ID"] + "' flowId='" + row["FlowID"] + "' flowType='end' passCount='0' flowTitle='<b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "' flowFlag='0' readOnly='0' receiverID='' receiverName='' fillcolor='#F4A8BD' onDblClick='Edit_Process(" + row["FlowID"].ToString() + "," + row["NodeId"].ToString() + ");' style='LEFT: " + row["Left"] + "; TOP:" + row["Top"] + "; WIDTH: 120; POSITION: absolute; HEIGHT: 60;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + row["NodeDescription"].ToString() + "'><v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "</v:textbox></v:oval>\r\n"); * } * else * { * vmlBuilder.Append("<v:roundrect inset='2pt,2pt,2pt,2pt' id='" + row["NodeId"] + "' table_id='" + row["ID"] + "' flowId='" + row["FlowID"] + "' flowType='' passCount='0' flowTitle='<b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "' flowFlag='0' readOnly='0' receiverID='' receiverName='' fillcolor='#EEEEEE' onDblClick='Edit_Process(" + row["FlowID"].ToString() + "," + row["NodeId"].ToString() + ");' style='LEFT: " + row["Left"] + "; TOP:" + row["Top"] + "; WIDTH: 100; POSITION: absolute; HEIGHT: 50;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + row["NodeDescription"].ToString() + "'> <v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "</v:textbox></v:roundrect>\r\n"); * } * * } * } * */ vmlString = vmlBuilder.ToString(); lineString = lineBuilder.ToString(); } }