//double lon0,lat0; //double lon1,lat1; //wei=(lat1-lat0)*(2*pi*R2+4*(R1-R2))/360;//R1=6378004;%地球极半径. R2=6356755;%地球赤道半径 //jing=(lon1-lon0)*2*pi*R1*cos(lat0*pi/180)/360; //shuiping=sqrt(wei^2+jing^2); double lon0,lat0; public void DrawAxis(Graphics g, SplitGroupPanel panel) { axisArea.Width = panel.Size.Width - 2 * axisMargin.X; axisArea.Height = panel.Size.Height - 2 * axisMargin.Y; axisO.X = panel.Size.Width / 2f; axisO.Y = panel.Size.Height / 2f; radius = (axisArea.Width > axisArea.Height) ? (axisArea.Height / 4f) : (axisArea.Width / 4f); System.Drawing.Drawing2D.AdjustableArrowCap lineCap = new System.Drawing.Drawing2D.AdjustableArrowCap(6, 6, true); Pen pen = new Pen(Color.DimGray, 0.5f) { CustomEndCap = lineCap }; g.DrawLine(pen, new PointF(axisMargin.X, axisO.Y), new PointF(axisMargin.X + axisArea.Width, axisO.Y)); g.DrawLine(pen, new PointF(axisO.X, axisMargin.Y + axisArea.Height), new PointF(axisO.X, axisMargin.Y)); //pen.DashStyle = DashStyle.Custom; //pen.DashPattern = new float[] { 1f, 3f }; pen.DashStyle = DashStyle.Solid; pen.Color = Color.LightGray; pen.Width = 0.1f; g.DrawEllipse(pen, new RectangleF(axisO.X - radius, axisO.Y - radius, radius * 2, radius * 2)); g.DrawString("N", new Font("宋体", emSize), new SolidBrush(Color.Black), axisO.X + 5, axisMargin.Y + 5); //g.DrawString("O", new Font("宋体", emSize), new SolidBrush(Color.Black), axisO.X, axisO.Y); g.DrawString(radiusM.ToString("f1") + "m", new Font("宋体", emSize), new SolidBrush(Color.Black), axisO.X + radius + 5, axisO.Y); g.DrawString("E", new Font("宋体", emSize), new SolidBrush(Color.Black), axisArea.Width + axisMargin.X, axisO.Y); DrawAddPoint(g); }
/// <summary> /// 获得主显示控件 /// </summary> /// 创建人:桂书丛 /// 创建日期:2013-02-24 private void GetBAMain() { frmAssist.frmBAMain myfrmBAMain = new CMS.UILayer.frmAssist.frmBAMain(); myfrmBAMain.btnBuffetStatus_ItemClick(null, null); SplitGroupPanel tempMainControl = myfrmBAMain.splitContainerControlMain.Panel1; myfrmBAMain.barManagerMain.Form = this; //这句不能少,是给菜单制定一个窗体 this.panelControlMain.Controls.Add(tempMainControl); tempMainControl.Dock = DockStyle.Fill; }
/// <summary> /// 获得主显示控件 /// </summary> /// 创建人:桂书丛 /// 创建日期:2013-02-24 private void GetBAMain() { frmAssist.frmBAMain myfrmBAMain = new CMS.UILayer.frmAssist.frmBAMain(); myfrmBAMain.btnBuffetStatus_ItemClick(null, null); SplitGroupPanel tempMainControl = myfrmBAMain.splitContainerControlMain.Panel1; myfrmBAMain.barManagerMain.Form = this; //这句不能少,是给菜单制定一个窗体 this.panelControlMain.Controls.Add(tempMainControl); tempMainControl.Dock = DockStyle.Fill; //foreach (Control tempTabPage in myfrmBAMain.xtraTabControlMain.TabPages) //{ // if (tempTabPage.GetType() == typeof(DevExpress.XtraTab.XtraTabPage)) // { // DevExpress.XtraTab.XtraTabPage tempPage= (DevExpress.XtraTab.XtraTabPage)tempTabPage; // if(tempPage.Text == VariedEnum.BuffetStatus.脏台.ToString()) // myfrmBAMain.xtraTabControlMain.SelectedTabPage= tempPage; // } //} }
private void DrawChart(DataTable dtResult, List <string> SelProds) { DockPanel panel = null; if (this._mainView.ActiveControl != null) { panel = this._mainView.ActiveControl as DockPanel; } else { panel = this._mainView.DockManager.ActivePanel; } SubView subView = panel.ActiveControl as SubView; SplitGroupPanel chartPanel = subView.SplitContainerControl.Panel2; chartPanel.Controls.Clear(); DataView dv = dtResult.DefaultView; dv.Sort = "DATE"; dtResult = dv.ToTable(); ChartControl chart = new ChartControl(); chart.Dock = DockStyle.Fill; chartPanel.Controls.Add(chart); Series moveSeries = new Series("MOVE", ViewType.Line); Series targetSeries = new Series("TARGET", ViewType.Line); moveSeries.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True; targetSeries.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True; (moveSeries.View as LineSeriesView).MarkerVisibility = DevExpress.Utils.DefaultBoolean.True; (targetSeries.View as LineSeriesView).MarkerVisibility = DevExpress.Utils.DefaultBoolean.True; chart.Series.Add(moveSeries); chart.Series.Add(targetSeries); Dictionary <string, List <decimal> > aggregateMappings = new Dictionary <string, List <decimal> >(); foreach (DataRow row in dtResult.Rows) { string prodID = row["PRODUCT_ID"].ToString(); string date = row["DATE"].ToString(); decimal move = Convert.ToDecimal(row["MOVE"]); decimal target = Convert.ToDecimal(row["TARGET"]); if (SelProds.Contains(prodID) == false) { continue; } if (SelProds.Count > 1) { var key = date; if (aggregateMappings.ContainsKey(key)) { aggregateMappings[key][0] += move; aggregateMappings[key][1] += target; } else { aggregateMappings.Add(key, new List <decimal>() { move, target }); } continue; } SeriesPoint movePoint = new SeriesPoint(date, move); SeriesPoint targetPoint = new SeriesPoint(date, target); moveSeries.Points.Add(movePoint); targetSeries.Points.Add(targetPoint); } foreach (var item in aggregateMappings) { SeriesPoint movePoint = new SeriesPoint(item.Key, item.Value.ElementAt(0)); SeriesPoint targetPoint = new SeriesPoint(item.Key, item.Value.ElementAt(1)); moveSeries.Points.Add(movePoint); targetSeries.Points.Add(targetPoint); } }