private void AddListItem(ParetoData lt) { this.listBoxControl1.Items.Insert(0, lt); this.listBoxControl1.SelectedIndex = 0; lt.InitData(); lt.DrawSerieses(); }
private void SelectDrawBoard(ParetoData target) { DSelectDrawBoard(SelectedItem); this.SelectedItem = target; foreach (var DrawBoard in target.DrawBoards) { DrawBoard.Selected = true; } }
private void DSelectDrawBoard(ParetoData target) { if (target != null) { foreach (var DrawBoard in target.DrawBoards) { DrawBoard.Selected = false; } } }
private void RemoveListItem(ParetoData lt) { if (lt != null) { if (SelectedItem == lt) { DSelectDrawBoard(lt); } lt.ClearSerieses(); this.listBoxControl1.Items.Remove(lt); } }
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; } }
private void RemoveListItem(ParetoData lt) { if (lt != null) { if (SelectedItem == lt) DSelectDrawBoard(lt); lt.ClearSerieses(); this.listBoxControl1.Items.Remove(lt); } }
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 DSelectDrawBoard(ParetoData target) { if (target != null) foreach (var DrawBoard in target.DrawBoards) { DrawBoard.Selected = false; } }
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]; } }