Exemple #1
0
        //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);
        }
Exemple #2
0
        /// <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;
        }
Exemple #3
0
        /// <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;

            //    }
            //}
        }
Exemple #4
0
        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);
            }
        }