问题描述
[WebMethod]publicDataSetGetPoleByID(longid){IndexCommonBasePagebasePage=newIndexCommonBasePage();vardtPole=newDataTable();SetPoleDataTableValue(dtPole);dsPole.Tables.Add(dtPole);Lineline=basePage.BaseRecordService.GetLineById(id);longlineToPoleId=0;if(line.Pole!=null&&line.Pole.ID>0)lineToPoleId=long.Parse(line.Pole.ID.ToString());stringLineToPoleName=string.Empty;if(line.Pole!=null&&!string.IsNullOrEmpty(line.Pole.Name))LineToPoleName=line.Pole.Name.ToString();IList<Pole>collectPole=basePage.DeviceService.GetPoles(id);if(collectPole!=null&&collectPole.Count>0){foreach(PolepoleColincollectPole){vardrPole=dtPole.NewRow();drPole[0]=poleCol.Name;drPole[1]=poleCol.PoleTypeValue;drPole[2]=poleCol.ID;drPole[3]=poleCol.AngleDirection==null?string.Empty:poleCol.AngleDirection.Value;drPole[4]=poleCol.AngleDegree;drPole[5]=poleCol.PoleDistance;drPole[6]=poleCol.SamePoleLoopNum;drPole[7]=poleCol.SeqNo;drPole[8]=poleCol.VoltageLevelValue;drPole[9]=poleCol.Line==null?string.Empty:poleCol.Line.TypeValue;drPole[10]=poleCol.Line==null?0:poleCol.Line.ID;drPole[11]=poleCol.LineName;drPole[12]=lineToPoleId;drPole[13]=LineToPoleName;drPole[14]=line.ID;dtPole.Rows.Add(drPole);Polepole=basePage.BaseService.GetEntityById<Pole>(poleCol.ID);IList<Line>listNewLine=pole.NewLines;if(listNewLine!=null&&listNewLine.Count>0){foreach(LinenewLineinlistNewLine){GetPoleByID(newLine.ID);}}}}returndsPole;}privatestaticvoidSetPoleDataTableValue(DataTabledtPole){dtPole.Columns.Add("Name",typeof(string));dtPole.Columns.Add("PoleTypeValue",typeof(string));dtPole.Columns.Add("ID",typeof(long));dtPole.Columns.Add("AngleDirection.Value",typeof(string));dtPole.Columns.Add("AngleDegree",typeof(decimal));dtPole.Columns.Add("PoleDistance",typeof(decimal));dtPole.Columns.Add("SamePoleLoopNum",typeof(int));dtPole.Columns.Add("SeqNo",typeof(decimal));dtPole.Columns.Add("VoltageLevelValue",typeof(string));dtPole.Columns.Add("Line.TypeValue",typeof(string));dtPole.Columns.Add("Line.ID",typeof(long));dtPole.Columns.Add("LineName",typeof(string));dtPole.Columns.Add("lineToPoleId",typeof(long));dtPole.Columns.Add("LineToPoleName",typeof(string));dtPole.Columns.Add("line.ID",typeof(long));}
上面是我在webservice中写的一个算法,返回的是dataset,在Winform客户端用VisualGraph调用Webservice并要画出电线和杆的连线图
解决方案
解决方案二:
补充下我现在画出的是一条单线图,不能画出分支,望大家帮帮小弟的忙!!十分感谢