Exemple #1
0
 private void AddListItem(ParetoData lt)
 {
     this.listBoxControl1.Items.Insert(0, lt);
     this.listBoxControl1.SelectedIndex = 0;
     lt.InitData();
     lt.DrawSerieses();
 }
Exemple #2
0
 private void SelectDrawBoard(ParetoData target)
 {
     DSelectDrawBoard(SelectedItem);
     this.SelectedItem = target;
     foreach (var DrawBoard in target.DrawBoards)
     {
         DrawBoard.Selected = true;
     }
 }
Exemple #3
0
 private void DSelectDrawBoard(ParetoData target)
 {
     if (target != null)
     {
         foreach (var DrawBoard in target.DrawBoards)
         {
             DrawBoard.Selected = false;
         }
     }
 }
Exemple #4
0
 private void RemoveListItem(ParetoData lt)
 {
     if (lt != null)
     {
         if (SelectedItem == lt)
         {
             DSelectDrawBoard(lt);
         }
         lt.ClearSerieses();
         this.listBoxControl1.Items.Remove(lt);
     }
 }
Exemple #5
0
        private void gridView1_DragObjectDrop(object sender, DevExpress.XtraGrid.Views.Base.DragObjectDropEventArgs e)
        {
            ParetoData data = null;
            List <IDrawBoard <DevExpress.XtraCharts.ChartControl> > DrawBoards = null;

            try
            {
                var col = (e.DragObject as DevExpress.XtraGrid.Columns.GridColumn);
                if (col.FieldName != this.ChooseColumnName && this.Data.Columns[col.FieldName].DataType != typeof(string) && this.Data.Columns[col.FieldName].DataType != typeof(DateTime))
                {
                    var mouseposition = this.listBoxControl1.PointToClient(MousePosition);
                    int grouptype     = Convert.ToInt32(this.txtGroupType.EditValue);
                    if (this.cmbGroupType.SelectedIndex == 1)
                    {
                        if (this.gridView1.GroupCount < 1)
                        {
                            throw new Exception("Group模式下请先对数据进行分组");
                        }
                        grouptype = 0;
                    }
                    if (mouseposition.X > 0 && mouseposition.X < this.listBoxControl1.Width && mouseposition.Y > 0 && mouseposition.Y < this.listBoxControl1.Height)
                    {
                        data = new ParetoData(this.gridView1, col.FieldName, grouptype, cmbCuType.SelectedIndex, this.Colors[historySeriesCount++ % MaxSeriesCount].Color, DrawBoards = this.AddDrawBoards());
                        this.AddListItem(data);
                    }
                    else if (this.xtraTabControl1.CalcHitInfo(this.xtraTabControl1.PointToClient(MousePosition)).HitTest == DevExpress.XtraTab.ViewInfo.XtraTabHitTest.PageClient && this.xtraTabControl1.SelectedTabPage.Controls.Count >= 0)
                    {
                        var targetlayout = this.xtraTabControl1.SelectedTabPage.Controls[0];
                        int index        = targetlayout.Controls.IndexOf(targetlayout.GetChildAtPoint(targetlayout.PointToClient(MousePosition)));
                        if (index >= 0)
                        {
                            data = new ParetoData(this.gridView1, col.FieldName, grouptype, cmbCuType.SelectedIndex, this.Colors[historySeriesCount++ % MaxSeriesCount].Color, DrawBoards = this.GetDrawBoards(index));
                            this.AddListItem(data);
                        }
                        else
                        {
                            data = new ParetoData(this.gridView1, col.FieldName, grouptype, cmbCuType.SelectedIndex, this.Colors[historySeriesCount++ % MaxSeriesCount].Color, DrawBoards = this.AddDrawBoards());
                            this.AddListItem(data);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                RemoveListItem(data);
            }
        }
        private void retestparetofun(List <KeyValuePair <string, int> > retestdatalist)
        {
            if (retestdatalist.Count > 0)
            {
                var peralist = new List <ParetoData>();

                if (retestdatalist.Count > 1)
                {
                    retestdatalist.Sort(delegate(KeyValuePair <string, int> pair1, KeyValuePair <string, int> pair2)
                    {
                        return(pair2.Value.CompareTo(pair1.Value));
                    });
                }

                var sum = 0;
                for (var i = 0; i < retestdatalist.Count; i++)
                {
                    sum = sum + retestdatalist[i].Value;
                }

                var otherpercent = 0.0;

                for (var i = 0; i < retestdatalist.Count; i++)
                {
                    if (retestdatalist.Count > 5 && peralist.Count > 0 && peralist[peralist.Count - 1].sumpercent > 0.95)
                    {
                        otherpercent = otherpercent + retestdatalist[i].Value / (double)sum;
                        if (i == (retestdatalist.Count - 1))
                        {
                            var tempperato = new ParetoData();
                            tempperato.key        = "Other";
                            tempperato.count      = (int)(otherpercent * sum);
                            tempperato.percent    = otherpercent;
                            tempperato.sumpercent = 1.0;
                            peralist.Add(tempperato);
                        }
                    }
                    else
                    {
                        var tempperato = new ParetoData();
                        tempperato.key = retestdatalist[i].Key;
                        if (i == 0)
                        {
                            tempperato.count      = retestdatalist[i].Value;
                            tempperato.percent    = tempperato.count / (double)sum;
                            tempperato.sumpercent = tempperato.percent;
                            peralist.Add(tempperato);
                        }
                        else
                        {
                            tempperato.count      = retestdatalist[i].Value;
                            tempperato.percent    = tempperato.count / (double)sum;
                            tempperato.sumpercent = peralist[peralist.Count - 1].sumpercent + tempperato.percent;
                            peralist.Add(tempperato);
                        }
                    }
                }

                //xaxis
                var ChartxAxisValues = "";

                foreach (var item in peralist)
                {
                    ChartxAxisValues = ChartxAxisValues + "'" + item.key + "',";
                }
                ChartxAxisValues = ChartxAxisValues.Substring(0, ChartxAxisValues.Length - 1);


                //yaxis
                //var ChartSearies = "{name:'Defect',data:[<fvalue>]}";

                var pcountvalue = "";
                foreach (var item in peralist)
                {
                    pcountvalue = pcountvalue + item.count.ToString() + ",";
                }
                pcountvalue = pcountvalue.Substring(0, pcountvalue.Length - 1);

                var ppecentvalue = "";
                foreach (var item in peralist)
                {
                    ppecentvalue = ppecentvalue + (item.sumpercent * 100).ToString("0.0") + ",";
                }
                ppecentvalue = ppecentvalue.Substring(0, ppecentvalue.Length - 1);

                var abpecentvalue = "";
                foreach (var item in peralist)
                {
                    abpecentvalue = abpecentvalue + (item.percent * 100).ToString("0.0") + ",";
                }
                abpecentvalue = abpecentvalue.Substring(0, abpecentvalue.Length - 1);

                //ChartSearies = ChartSearies.Replace("<fvalue>", tempvalue);

                var tempscript = System.IO.File.ReadAllText(Server.MapPath("~/Scripts/ParetoChart.xml"));
                ViewBag.rparetoscript = tempscript.Replace("#ElementID#", "rparetochart")
                                        .Replace("#Title#", "Pareto of Final Defect")
                                        .Replace("#XAxisTitle#", "Defect")
                                        .Replace("#ChartxAxisValues#", ChartxAxisValues)
                                        .Replace("#AmountMAX#", sum.ToString())
                                        .Replace("#PCount#", pcountvalue)
                                        .Replace("#ABPercent#", abpecentvalue)
                                        .Replace("#PPercent#", ppecentvalue)
                                        .Replace("#REDIRECTURL#", "");
            }
            else
            {
                ViewBag.rparetoscript = string.Empty;
            }
        }
Exemple #7
0
 private void SelectDrawBoard(ParetoData target)
 {
     DSelectDrawBoard(SelectedItem);
     this.SelectedItem = target;
     foreach (var DrawBoard in target.DrawBoards)
     {
         DrawBoard.Selected = true;
     }
 }
Exemple #8
0
 private void RemoveListItem(ParetoData lt)
 {
     if (lt != null)
     {
         if (SelectedItem == lt)
             DSelectDrawBoard(lt);
         lt.ClearSerieses();
         this.listBoxControl1.Items.Remove(lt);
     }
 }
Exemple #9
0
 private void gridView1_DragObjectDrop(object sender, DevExpress.XtraGrid.Views.Base.DragObjectDropEventArgs e)
 {
     ParetoData data = null;
     List<IDrawBoard<DevExpress.XtraCharts.ChartControl>> DrawBoards = null;
     try
     {
         var col = (e.DragObject as DevExpress.XtraGrid.Columns.GridColumn);
         if (col.FieldName != this.ChooseColumnName && this.Data.Columns[col.FieldName].DataType != typeof(string) && this.Data.Columns[col.FieldName].DataType != typeof(DateTime))
         {
             var mouseposition = this.listBoxControl1.PointToClient(MousePosition);
             int grouptype = Convert.ToInt32(this.txtGroupType.EditValue);
             if (this.cmbGroupType.SelectedIndex == 1)
             {
                 if (this.gridView1.GroupCount < 1)
                     throw new Exception("Group模式下请先对数据进行分组");
                 grouptype = 0;
             }
             if (mouseposition.X > 0 && mouseposition.X < this.listBoxControl1.Width && mouseposition.Y > 0 && mouseposition.Y < this.listBoxControl1.Height)
             {
                 data = new ParetoData(this.gridView1, col.FieldName, grouptype, cmbCuType.SelectedIndex, this.Colors[historySeriesCount++ % MaxSeriesCount].Color, DrawBoards = this.AddDrawBoards());
                 this.AddListItem(data);
             }
             else if (this.xtraTabControl1.CalcHitInfo(this.xtraTabControl1.PointToClient(MousePosition)).HitTest == DevExpress.XtraTab.ViewInfo.XtraTabHitTest.PageClient && this.xtraTabControl1.SelectedTabPage.Controls.Count >= 0)
             {
                 var targetlayout = this.xtraTabControl1.SelectedTabPage.Controls[0];
                 int index = targetlayout.Controls.IndexOf(targetlayout.GetChildAtPoint(targetlayout.PointToClient(MousePosition)));
                 if (index >= 0)
                 {
                     data = new ParetoData(this.gridView1, col.FieldName, grouptype, cmbCuType.SelectedIndex, this.Colors[historySeriesCount++ % MaxSeriesCount].Color, DrawBoards = this.GetDrawBoards(index));
                     this.AddListItem(data);
                 }
                 else
                 {
                     data = new ParetoData(this.gridView1, col.FieldName, grouptype, cmbCuType.SelectedIndex, this.Colors[historySeriesCount++ % MaxSeriesCount].Color, DrawBoards = this.AddDrawBoards());
                     this.AddListItem(data);
                 }
             }
         }
     }
     catch(Exception ex)
     {
         MessageBox.Show(ex.Message);
         RemoveListItem(data);
     }
 }
Exemple #10
0
 private void DSelectDrawBoard(ParetoData target)
 {
     if (target != null)
         foreach (var DrawBoard in target.DrawBoards)
         {
             DrawBoard.Selected = false;
         }
 }
Exemple #11
0
 void DrawBoard_GotFocus(object sender, EventArgs e)
 {
     var s = sender as IDrawBoard<DevExpress.XtraCharts.ChartControl>;
     if(!s.Selected)
     {
         this.listBoxControl1.SelectedItem = (s.Tag as List<ParetoData>)[0];
     }
 }
Exemple #12
0
 private void AddListItem(ParetoData lt)
 {
     this.listBoxControl1.Items.Insert(0, lt);
     this.listBoxControl1.SelectedIndex = 0;
     lt.InitData();
     lt.DrawSerieses();
 }