private void Clear(object sender, RoutedEventArgs e) { // System.Diagnostics.Process.Start(Application.ResourceAssembly.Location); // Application.Current.Shutdown(); //MyChart.Resources.Clear(); // mydata.Clear(); MySeries.MyData.Clear(); MyChart.PlotAreaBorder_SizeChanged(this, null); }
private void PersonCmbx_SelectionChanged(object sender, SelectionChangedEventArgs e) { List <ModalType> modals = new List <ModalType>(); foreach (var pis in DataAccessFacade.Instance.GetSceneInUseAccess().GetScene().PersonsInScene) { if (e.AddedItems.Count == 1 && e.AddedItems[0].Equals(pis.Person)) { foreach (var smPis in pis.SubModalType_PersonInScenes) { var intervals = DataAccessFacade.Instance.GetIntervalAccess().GetAll(pis.Person, smPis.SubModalType.ModalTypeId, smPis.SubModalTypeId); if (!ReferenceEquals(null, intervals) && intervals.Count > 0 && !modals.Contains(smPis.SubModalType.ModalType)) { modals.Add(smPis.SubModalType.ModalType); } } } } ModalCmbx.SelectedIndex = -1; SubmodalCmbx.SelectedIndex = -1; ModalCmbx.ItemsSource = modals; //SeriesCollection = null; MyChart.Series = null; MyChart.Update(); //Refresh(); }
private void FillGraph(List <Event> events) { var dayConfig = Mappers.Xy <TimeModel>() .X(dayModel => (double)dayModel.TimeSpan.TotalSeconds) .Y(dayModel => dayModel.Value); SeriesCollection = new SeriesCollection(dayConfig); var values = new ChartValues <TimeModel>(); foreach (var event_data in events) { values.Add(new TimeModel() { TimeSpan = event_data.EventTime, Value = event_data.Value ?? 1 }); } SeriesCollection.Add(new LineSeries() { Values = values, Fill = Brushes.Transparent }); MyChart.Series = SeriesCollection; MyChart.Update(); }
/// <summary> /// /// </summary> /// <param name="fs"></param> /// <param name="cmd"></param> public void Init(byte fs, int freqSpan, MyChart usedChart) { int i = 0; int freqMHz = this.startFreqMHz; int _return = 0; usedChart.ClearChart(); if (this.siteACurrentX100mA[0] > 100) { usedChart.AddShowCurve("SITEA", Color.Blue); _return |= 0x01; } if (this.siteBCurrentX100mA[0] > 100) { usedChart.AddShowCurve("SITEB", Color.Yellow); _return |= 0x02; } if (this.siteCCurrentX100mA[0] > 100) { usedChart.AddShowCurve("SITEC", Color.Green); _return |= 0x04; } if (this.siteDCurrentX100mA[0] > 100) { usedChart.AddShowCurve("SITED", Color.GreenYellow); _return |= 0x08; } usedChart.SetXAxisScaleMin(freqMHz - freqSpan * 10); usedChart.SetXAxisScaleMajorStep(freqSpan * 5); //usedChart.SetYAxisScaleMajorStep(freqSpan); for (i = 0; i < this.siteACurrentX100mA.Count; i++) { if (i != 0) { freqMHz += freqSpan; } if ((_return & 0x01) != 0) { usedChart.AddXYPoint("SITEA", freqMHz, this.siteACurrentX100mA[i]); } if ((_return & 0x02) != 0) { usedChart.AddXYPoint("SITEB", freqMHz, this.siteBCurrentX100mA[i]); } if ((_return & 0x04) != 0) { usedChart.AddXYPoint("SITEC", freqMHz, this.siteCCurrentX100mA[i]); } if ((_return & 0x08) != 0) { usedChart.AddXYPoint("SITED", freqMHz, this.siteDCurrentX100mA[i]); } } //usedChart.AddShowCurve("SITEA", listA, Color.Blue); //usedChart.AddShowCurve("SITEB", listB, Color.Yellow); //usedChart.AddShowCurve("SITEC", listC, Color.Green); //usedChart.AddShowCurve("SITED", listD, Color.GreenYellow); }
private void Home_ResizeEnd(object sender, EventArgs e) { try { MyChart.Refresh(); } catch { } }
private void FillGraph(List <Interval> intervals) { SeriesCollection = new SeriesCollection(); double last = 0; foreach (var interval in intervals) { if (interval.StartTime.TotalSeconds - last > 0) { SeriesCollection.Add(new StackedRowSeries { Values = new ChartValues <double> { interval.StartTime.TotalSeconds - last }, StackMode = StackMode.Values, Fill = Brushes.White, DataLabels = false, LabelPoint = p => p.X.ToString() }); Console.WriteLine($"Añadido white de {interval.StartTime.TotalSeconds - last}"); } if (interval.EndTime.TotalSeconds - interval.StartTime.TotalSeconds > 0) { SeriesCollection.Add(new StackedRowSeries { Values = new ChartValues <double> { interval.EndTime.TotalSeconds - interval.StartTime.TotalSeconds }, StackMode = StackMode.Values, Fill = Brushes.Blue, DataLabels = true, LabelPoint = p => p.X.ToString("F0") }); Console.WriteLine($"Añadido blue de {interval.EndTime.TotalSeconds - interval.StartTime.TotalSeconds}"); } last = interval.EndTime.TotalSeconds; } if (DataAccessFacade.Instance.GetSceneInUseAccess().GetScene().Duration.TotalSeconds - last > 0) { SeriesCollection.Add(new StackedRowSeries { Values = new ChartValues <double> { DataAccessFacade.Instance.GetSceneInUseAccess().GetScene().Duration.TotalSeconds - last }, StackMode = StackMode.Values, Fill = Brushes.White, DataLabels = false, LabelPoint = p => p.X.ToString() }); } MyChart.Series = SeriesCollection; MyChart.Update(); }
void ShowData(int lastToShow, int SizeOfGraph) { if (lastToShow >= ObsManage.ObservationCount) { return; //out of range, if statment true, then return false and do nothing } int countOfObservationToAdd = lastToShow - IndexOfCurrentObservation; if (countOfObservationToAdd == 0) { return; // nothing to do, everything is shown } if (IndexOfCurrentObservation < lastToShow && MySeries.MyData.Count + countOfObservationToAdd <= SizeOfGraph) { if (MySeries.MyData.Count + countOfObservationToAdd <= SizeOfGraph) { for (int i = 0; i < countOfObservationToAdd; i++) { IndexOfCurrentObservation++; if (IndexOfCurrentObservation == 0) { mydata.Add(MySeries); } Observation obs = ObsManage.GetObservation(IndexOfCurrentObservation); MySeries.MyData.Add(new DataPoint() { Frequency = obs.TimeDiff, Value = obs.price }); } } } else { int iStartToShow = Math.Max(0, lastToShow - SizeOfGraph + 1); int iLimToShow = Math.Min(iStartToShow + SizeOfGraph, ObsManage.GetObservationCount); MySeries.MyData.Clear(); for (int i = iStartToShow; i < iLimToShow; i++) { var obs = ObsManage.GetObservation(i); var dataPnt = new DataPoint() { Frequency = obs.TimeDiff, Value = obs.price }; MySeries.MyData.Add(dataPnt); } IndexOfCurrentObservation = iLimToShow - 1; } if (mydata.Count == 0) { mydata.Add(MySeries); } MyChart.PlotAreaBorder_SizeChanged(this, null); }
public ActionResult Adapter() { Pattern.GangOfFour.Structural.IChart chart = new MyChart(); chart.GenerateChart(); chart = new MyChartAdapter(); chart.GenerateChart(); chart = new MyChartAdapter2(); chart.GenerateChart(); return(View()); }
public ScrollingChart() { InitializeComponent(); DataSet = new SeriesCollection { new LineSeries { AreaLimit = 0, Values = new ChartValues <double> { 1, 2, 4, 7, 10, 12, 13, 13, 12, 10, 7, 4, 2, 1, 1, 2, 4, 7, 10, 12, 13, 13, 12, 10, 7, 4, 2, 1, 1, 2, 4, 7, 10, 12, 13, 13, 12, 10, 7, 4, 2, 1, 1, 2, 4, 7, 10, 12, 13, 13, 12, 10, 7, 4, 2, 1, 1, 2, 4, 7, 10, 12, 13, 13, 12, 10, 7, 4, 2, 1, 1, 2, 4, 7, 10, 12, 13, 13, 12, 10, 7, 4, 2, 1, } } }; DataContext = this; Task.Run(() => { Stopwatch sw = new Stopwatch(); sw.Start(); while (true) { var temp = sw.ElapsedMilliseconds; Thread.Sleep(200); Application.Current.Dispatcher.Invoke(() => { var val = DataSet[0].Values[0]; DataSet[0].Values.RemoveAt(0); DataSet[0].Values.Add(val); MyChart.Update(false, true); }); Console.WriteLine(sw.ElapsedMilliseconds - temp); } }); }
private void PlotBtn_Click(object sender, EventArgs e) { try { var size = Convert.ToInt16(NumberTextBox.Text); dataGridView1.DataSource = MapData(XData, YData); MyChart.Chart_AxeBorderColor = Color.Black; MyChart.Chart_AxeFontSize = 10; MyChart.Chart_AxeForegorund = Color.Black; MyChart.Chart_RectBackground = Color.FromKnownColor(colors[BackgroundComboBox.SelectedIndex]); MyChart.Chart_RectBorderColor = Color.FromKnownColor(colors[BorderColorComboBox.SelectedIndex]); MyChart.Chart_AxeX = this.AxeXTextBoxs.Text; MyChart.Chart_AxeY = this.AxeYTextBox.Text; MyChart.Chart_IsBordered = BorderedCheckBox.Checked; MyChart.Chart_Mode = modes[ModeComboBox.SelectedIndex]; MyChart.Chart_PointSize = Convert.ToInt32(PointSizeTextBox.Text); MyChart.Draw(XData, YData); } catch { MessageBox.Show("size invalid"); } }
/// <summary> /// /// </summary> /// <param name="usedPort"></param> /// <param name="usedChart"></param> /// <param name="msg"></param> /// <returns></returns> public virtual int FreqCurrentDo(COMMPort usedPort, MyChart usedChart, RichTextBox msg = null) { if (usedPort == null) { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "通信端口初始化失败!\r\n", Color.Red, false); } return(1); } int _return = 0; byte[] res = null; //---将命令写入设备并读取返回的值 _return = usedPort.ReadFromDevice(ref res, 1000, msg); //---通信验证 if ((_return == 0) && (usedPort.m_COMMPortReadDataFormatPassed == true) && (res[usedPort.m_COMMPortDataReadIndex + 1] == 0)) { if (msg != null) { //---清除文本 RichTextBoxPlus.Clear(msg); //---消息 RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "频率电流扫描结果读取成功!\r\n", Color.Black, false); //---进行一次频率电流扫描消耗的时间 RichTextBoxPlus.AppendTextInfoWithDateTime(msg, "消耗的时间:" + ((int)usedPort.m_COMMPortUsedTime.Milliseconds).ToString("D") + "ms\r\n", Color.Black, false); } this.usedSiteCurrent = new RFASKSiteCurrent(); byte[] siteCurrent = new byte[res.Length - usedPort.m_COMMPortDataReadIndex - 4]; Array.Copy(res, (usedPort.m_COMMPortDataReadIndex + 4), siteCurrent, 0, siteCurrent.Length); //---获取各个site的电流 this.usedSiteCurrent.Init(res[usedPort.m_COMMPortDataReadIndex + 3], siteCurrent); //---将数据刷新到画图控件 this.usedSiteCurrent.Init(res[usedPort.m_COMMPortDataReadIndex + 3], 2, usedChart); //---打印Log数据 this.usedSiteCurrent.PrintfLog(msg); } else { if (_return != 0) { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "通信发生错误!\r\n", Color.Red, false); } } else if (usedPort.m_COMMPortDataFormatPassed == false) { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "读取的数据格式不合法!\r\n", Color.Red, false); } } else if (res[usedPort.m_COMMPortDataReadIndex + 1] != 0) { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "数据返回的结果错误!\r\n", Color.Red, false); } } else { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "通信命令验证错误!\r\n", Color.Red, false); } } } return(_return); }
/// <summary> /// /// </summary> /// <param name="freqPointIndexCMD"></param> /// <param name="deviceCurrent"></param> /// <param name="usedPort"></param> /// <param name="usedChart"></param> /// <param name="msg"></param> /// <returns></returns> protected virtual int FreqCurrentDo(int freqPointIndexCMD, FreqCurrentControl deviceCurrent, COMMPort usedPort, MyChart usedChart, RichTextBox msg = null) { if (usedPort == null) { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "通信端口初始化失败!\r\n", Color.Red, false); } return(1); } if (deviceCurrent == null) { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "频率电流控件传递错误!\r\n", Color.Red, false); } return(2); } int _return = 0; byte[] cmd = new byte[] { (byte)freqPointIndexCMD, (byte)RFASKFreqCurrentPointCMD.CMD_RFASK_CMD1_FREQ_CURRENT_POINT_DO }; byte[] res = null; //---将命令写入设备并读取返回的值 _return = usedPort.SendCmdAndReadResponse(cmd, ref res, 1000); //---通信验证 if ((_return == 0) && (usedPort.m_COMMPortDataFormatPassed == true) && (res[usedPort.m_COMMPortDataReadIndex + 1] == 0) && (res[usedPort.m_COMMPortDataReadIndex + 2] == cmd[1])) { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "频率电流的第" + (freqPointIndexCMD - 3).ToString() + "个点的频率电流扫描!\r\n", Color.Black, false); //---进行一次频率电流扫描消耗的时间 RichTextBoxPlus.AppendTextInfoWithDateTime(msg, "消耗的时间:" + ((int)usedPort.m_COMMPortUsedTime.Milliseconds).ToString("D") + "ms\r\n", Color.Black, false); } this.usedSiteCurrent = new RFASKSiteCurrent(); byte[] siteCurrent = new byte[res.Length - usedPort.m_COMMPortDataReadIndex - 4]; Array.Copy(res, (usedPort.m_COMMPortDataReadIndex + 4), siteCurrent, 0, siteCurrent.Length); //---获取各个site的电流 this.usedSiteCurrent.Init(res[usedPort.m_COMMPortDataReadIndex + 3], siteCurrent); this.usedSiteCurrent.Init(res[usedPort.m_COMMPortDataReadIndex + 3], (int)deviceCurrent.m_StepFreq, usedChart); //---打印Log数据 this.usedSiteCurrent.PrintfLog(msg); } else { if (_return != 0) { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "通信发生错误!\r\n", Color.Red, false); } } else if (usedPort.m_COMMPortDataFormatPassed == false) { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "读取的数据格式不合法!\r\n", Color.Red, false); } } else if (res[usedPort.m_COMMPortDataReadIndex + 1] != 0) { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "数据返回的结果错误!\r\n", Color.Red, false); } } else { if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "通信命令验证错误!\r\n", Color.Red, false); } } } return(_return); }
/// <summary> /// /// </summary> /// <param name="index"></param> /// <param name="freqPointIndex"></param> /// <param name="deviceFreqCurrent"></param> /// <param name="usedPort"></param> /// <param name="usedChart"></param> /// <param name="msg"></param> /// <returns></returns> public virtual int FreqCurrentSet(int index, int freqPointIndex, FreqCurrentControl deviceFreqCurrent, COMMPort usedPort, MyChart usedChart, RichTextBox msg = null) { int _return = 0; int cmd = 0; //---第几个扫描任务的解析 switch (freqPointIndex) { case 1: cmd = CMD_RFASK_CMD1_FREQ_CURRENT_POINT_ONE; break; case 2: cmd = CMD_RFASK_CMD1_FREQ_CURRENT_POINT_TWO; break; default: if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "频率电流扫描任务命令不合法!\r\n", Color.Red, false); } return(1); } //---频率电流扫描执行的操作 switch (index) { case 1: //---获取频率参数 _return = this.FreqCurrentGetFreqParm(cmd, deviceFreqCurrent, usedPort, msg); break; case 2: //---配置频率参数 _return = this.FreqCurrentSetFreqParm(cmd, deviceFreqCurrent, usedPort, msg); break; case 3: //---获取电流参数 _return = this.FreqCurrentGetCurrentParm(cmd, deviceFreqCurrent, usedPort, msg); break; case 4: //---设置电流参数 _return = this.FreqCurrentSetCurrentParm(cmd, deviceFreqCurrent, usedPort, msg); break; case 5: //---执行频率电流扫描 _return = this.FreqCurrentDo(cmd, deviceFreqCurrent, usedPort, usedChart, msg); break; default: if (msg != null) { RichTextBoxPlus.AppendTextInfoTopWithDataTime(msg, "频率电流扫描操作不合法!\r\n", Color.Red, false); } _return = 1; break; } return(_return); }
private void button1_Click(object sender, EventArgs e) { _Model.UpdateModel(4.0, 5.0, 6.0, 7.0); MyChart.DataBind(); }
//解析副窗体 public static void Parse_SubWindow(UserControl subwindow, SQL_Connect_Builder sql_builder, Grid MainGrid, Running_Data data) { // 解析所有的Grid #region string where_cmd = "ParentWindow='" + subwindow.Name + "'"; DataTable allgriddt = sql_builder.Select_Table("ALLGrid", where_cmd); if (allgriddt != null) { if (allgriddt.Rows.Count > 0) { foreach (DataRow dr in allgriddt.Rows) { Grid grid = new Grid(); // 水平对齐 if (dr[3].ToString() == "Left") { grid.HorizontalAlignment = HorizontalAlignment.Left; } if (dr[3].ToString() == "Center") { grid.HorizontalAlignment = HorizontalAlignment.Center; } if (dr[3].ToString() == "Right") { grid.HorizontalAlignment = HorizontalAlignment.Right; } if (dr[3].ToString() == "Stretch") { grid.HorizontalAlignment = HorizontalAlignment.Stretch; } // 垂直对齐 if (dr[4].ToString() == "Bottom") { grid.VerticalAlignment = VerticalAlignment.Bottom; } if (dr[4].ToString() == "Center") { grid.VerticalAlignment = VerticalAlignment.Center; } if (dr[4].ToString() == "Stretch") { grid.VerticalAlignment = VerticalAlignment.Stretch; } if (dr[4].ToString() == "Top") { grid.VerticalAlignment = VerticalAlignment.Top; } int marginLeft = int.Parse(dr[5].ToString()); int marginRight = int.Parse(dr[6].ToString()); int marginTop = int.Parse(dr[7].ToString()); int marginBottom = int.Parse(dr[8].ToString()); grid.Margin = new Thickness(marginLeft, marginTop, marginRight, marginBottom); grid.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString(dr[9].ToString())); grid.Name = dr[0].ToString(); if (dr[10].ToString() != "") { grid.Width = double.Parse(dr[10].ToString()); } if (dr[11].ToString() != "") { grid.Height = double.Parse(dr[11].ToString()); } if (dr[2].ToString() == "MainGrid") { // 在主页面下 MainGrid.Children.Add(grid); } else { // 不在主页面下 string GridName = dr[2].ToString(); foreach (UIElement element in MainGrid.Children) { try { Grid mygrid = (Grid)element; if (mygrid.Name == dr[2].ToString()) { mygrid.Children.Add(grid); } } catch { } } } } } } #endregion // 解析所有的MyTreeView #region where_cmd = "ParentWindow='" + subwindow.Name + "'"; DataTable allMyTreeView = sql_builder.Select_Table("ALLMyTreeView", where_cmd); if (allMyTreeView != null) { if (allMyTreeView.Rows.Count > 0) { foreach (DataRow dr in allMyTreeView.Rows) { DataTable TreeViewItemsdt = sql_builder.Select_Table(dr[0].ToString()); MyTreeView treeview = new MyTreeView(TreeViewItemsdt); treeview.Name = dr[0].ToString(); if (dr[3].ToString() == "Left") { treeview.HorizontalAlignment = HorizontalAlignment.Left; } if (dr[3].ToString() == "Center") { treeview.HorizontalAlignment = HorizontalAlignment.Center; } if (dr[3].ToString() == "Right") { treeview.HorizontalAlignment = HorizontalAlignment.Right; } if (dr[3].ToString() == "Stretch") { treeview.HorizontalAlignment = HorizontalAlignment.Stretch; } // 垂直对齐 if (dr[4].ToString() == "Bottom") { treeview.VerticalAlignment = VerticalAlignment.Bottom; } if (dr[4].ToString() == "Center") { treeview.VerticalAlignment = VerticalAlignment.Center; } if (dr[4].ToString() == "Stretch") { treeview.VerticalAlignment = VerticalAlignment.Stretch; } if (dr[4].ToString() == "Top") { treeview.VerticalAlignment = VerticalAlignment.Top; } int marginLeft = int.Parse(dr[5].ToString()); int marginRight = int.Parse(dr[6].ToString()); int marginTop = int.Parse(dr[7].ToString()); int marginBottom = int.Parse(dr[8].ToString()); treeview.Margin = new Thickness(marginLeft, marginTop, marginRight, marginBottom); treeview.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString(dr[9].ToString())); treeview.Name = dr[0].ToString(); if (dr[10].ToString() != "") { treeview.Width = double.Parse(dr[10].ToString()); } if (dr[11].ToString() != "") { treeview.Height = double.Parse(dr[11].ToString()); } if (dr[2].ToString() == "MainGrid") { // 在主页面下 MainGrid.Children.Add(treeview); } else { // 不在主页面下 string GridName = dr[2].ToString(); foreach (UIElement element in MainGrid.Children) { try { Grid mygrid = (Grid)element; if (mygrid.Name == dr[2].ToString()) { mygrid.Children.Add(treeview); break; } } catch { } } } } } } #endregion // 解析所有的MyLabel #region DataTable AllMyLabeldt = sql_builder.Select_Table("AllMyLabel", where_cmd); if (AllMyLabeldt != null) { if (AllMyLabeldt.Rows.Count > 0) { foreach (DataRow dr in AllMyLabeldt.Rows) { MyLabel mylabel = new MyLabel(dr, sql_builder, data); if (dr[2].ToString() == "MainGrid") { // 在主页面下 MainGrid.Children.Add(mylabel); } else { // 不在主页面下 string GridName = dr[2].ToString(); foreach (UIElement element in MainGrid.Children) { try { Grid mygrid = (Grid)element; if (mygrid.Name == dr[2].ToString()) { mygrid.Children.Add(mylabel); } } catch { } } } } } } #endregion // 解析所有的MyChart #region DataTable AllMyChart = sql_builder.Select_Table("ALLMyChart", where_cmd); if (AllMyChart != null) { if (AllMyChart.Rows.Count > 0) { foreach (DataRow dr in AllMyChart.Rows) { MyChart mychart = new MyChart(dr, sql_builder); if (dr[2].ToString() == "MainGrid") { // 在主页面下 MainGrid.Children.Add(mychart); } else { // 不在主页面下 string GridName = dr[2].ToString(); foreach (UIElement element in MainGrid.Children) { try { Grid mygrid = (Grid)element; if (mygrid.Name == dr[2].ToString()) { mygrid.Children.Add(mychart); } } catch { } } } } } } #endregion // 解析所有的MyDataGridView // 表格分种类 #region DataTable AllDataGridView = sql_builder.Select_Table("AllDataGrid", where_cmd); if (AllDataGridView != null) { if (AllDataGridView.Rows.Count > 0) { foreach (DataRow dr in AllDataGridView.Rows) { // 顺序表 if (dr[1].ToString() == "OrderTable") { // 读取表格 DataTable gongyibiao = sql_builder.Select_Table(dr[0].ToString()); if (gongyibiao == null) { return; } MyOrderDataGridView datagridview = new MyOrderDataGridView(gongyibiao, dr); if (dr[3].ToString() == "MainGrid") { // 在主页面下 MainGrid.Children.Add(datagridview); } else { // 不在主页面下 string GridName = dr[3].ToString(); foreach (UIElement element in MainGrid.Children) { try { Grid mygrid = (Grid)element; if (mygrid.Name == dr[2].ToString()) { mygrid.Children.Add(datagridview); } } catch { } } } } } } } #endregion }
public ActionResult SalesCompare(string shopname = "", string goodscode = "", string mycode = "", string start = "") { List <SelectListItem> shop_list = new List <SelectListItem>(); List <SelectListItem> goods_list = new List <SelectListItem>(); List <SelectListItem> hhsgoods = new List <SelectListItem>(); IQueryable <string> shoplist = db.T_SYCM_Data.Where(a => !a.ShopName.Equals("好护士器械旗舰店")).GroupBy(a => a.ShopName).Select(a => a.Key); foreach (var item in shoplist) { SelectListItem i = new SelectListItem(); i.Text = item; i.Value = item; shop_list.Add(i); } ; IQueryable <string> goodslist = db.T_SYCM_Data.Where(a => !a.ShopName.Equals("好护士器械旗舰店")).GroupBy(a => a.GoodsName).Select(a => a.Key); foreach (var item in goodslist) { SelectListItem i = new SelectListItem(); i.Text = item; i.Value = item; goods_list.Add(i); } ; //好护士的商品下拉框 IQueryable <string> hhsgoodslist = db.T_SYCM_Data.Where(a => a.ShopName.Equals("好护士器械旗舰店")).GroupBy(a => a.GoodsName).Select(a => a.Key); foreach (var item in hhsgoodslist) { SelectListItem i = new SelectListItem(); i.Text = item; i.Value = item; hhsgoods.Add(i); } ; ViewData["shoplist"] = shop_list; ViewData["goodslist"] = goods_list; ViewData["hhsgoods"] = hhsgoods; ViewData["x"] = ""; ViewData["y"] = ""; ViewData["y1"] = ""; if (shopname != "") { List <DateTimeFootss> DateTimeFootssModel = new List <DateTimeFootss>(); string end = ""; if (string.IsNullOrEmpty(start)) { start = DateTime.Now.ToString("yyyy-MM-dd"); end = DateTime.Now.AddDays(-30).ToString("yyyy-MM-dd"); } else { DateTime startdates = DateTime.Parse(start); start = startdates.AddDays(-10).ToString("yyyy-MM-dd"); end = startdates.AddDays(-30).ToString("yyyy-MM-dd"); } DateTime startdate = DateTime.Parse(start); DateTime enddate = DateTime.Parse(end); var s = 29; for (int i = 0; i <= 29; i++) { DateTimeFootss MyCharss = new DateTimeFootss(); MyCharss.start = startdate.AddDays(-s).Date; string ss = MyCharss.start.ToString().Substring(0, 10) + " 23:59:59"; MyCharss.start = DateTime.Parse(ss); MyCharss.end = enddate.AddDays(-s); DateTimeFootssModel.Add(MyCharss); s--; } List <MyChart> model = new List <MyChart>(); for (int i = 0; i < DateTimeFootssModel.Count; i++) { string sql = "select SUM(y) as y,SUM(y1) as y1 from (select cast(DayDate as date) as x,Qty as y from T_SYCM_Data where ShopName='好护士器械旗舰店' and GoodsName='" + mycode + "' " + ") as a join (select cast(DayDate as date) as x1,Qty as y1 from T_SYCM_Data where ShopName='冠昌医疗器械旗舰店' and GoodsName='" + goodscode + "' " + ") as b on cast(a.x as date) between '" + DateTimeFootssModel[i].end + "' and '" + DateTimeFootssModel[i].start + "' and a.x=b.x1 "; MyChart data = db.Database.SqlQuery <MyChart>(sql, "").SingleOrDefault(); ViewData["x"] += "'" + DateTimeFootssModel[i].start.Date.ToString("yyyy-MM-dd") + "',"; ViewData["y"] += data.y + ","; ViewData["y1"] += data.y1 + ","; //if (ViewData["x"].ToString().Length > 0 && ViewData["y"].ToString().Length > 0) //{ // ViewData["x"] = ViewData["x"].ToString().Substring(0, ViewData["x"].ToString().Length - 1); // ViewData["y"] = ViewData["y"].ToString().Substring(0, ViewData["y"].ToString().Length - 1); // ViewData["y1"] = ViewData["y1"].ToString().Substring(0, ViewData["y1"].ToString().Length - 1); //} } return(View()); } else { return(View()); } }
private void SetChartValues(List <ChartValue> values) { DataPointSeries series = null; switch (StatisticChartType) { case MainControls.StatisticChartType.Pie: { series = new PieSeries(); MyChart.ClearValue(Chart.PaletteProperty); MyChart.Template = FindResource("PieChartTemplate") as ControlTemplate; break; } case MainControls.StatisticChartType.Bar: { BarSeries barSeries = new BarSeries(); barSeries.DependentRangeAxis = new LinearAxis() { Orientation = AxisOrientation.X, Minimum = 0, ShowGridLines = true }; CategoryAxis categoryAxis = new CategoryAxis() { Orientation = AxisOrientation.Y, Margin = new Thickness(0, 0, 10, 0) }; categoryAxis.MajorTickMarkStyle = new System.Windows.Style(); MyChart.Palette = FindResource("MyPalette") as Collection <ResourceDictionary>; MyChart.Template = FindResource("MyChartTemplate") as ControlTemplate; barSeries.IndependentAxis = categoryAxis; series = barSeries; break; } case MainControls.StatisticChartType.Column: { ColumnSeries colSeries = new ColumnSeries(); colSeries.DependentRangeAxis = new LinearAxis() { Orientation = AxisOrientation.Y, Minimum = 0, ShowGridLines = true }; MyChart.Palette = FindResource("MyPalette") as Collection <ResourceDictionary>; MyChart.Template = FindResource("MyChartTemplate") as ControlTemplate; series = colSeries; break; } case MainControls.StatisticChartType.Line: { LineSeries lineSeries = new LineSeries(); lineSeries.DependentRangeAxis = new LinearAxis() { Orientation = AxisOrientation.Y, Minimum = 0, ShowGridLines = true }; MyChart.Palette = FindResource("MyPalette") as Collection <ResourceDictionary>; MyChart.Template = FindResource("MyChartTemplate") as ControlTemplate; series = lineSeries; break; } } series.AnimationSequence = AnimationSequence.FirstToLast; series.IndependentValueBinding = new Binding("Name"); series.DependentValueBinding = new Binding("Count"); series.ItemsSource = values; MyChart.Series.Clear(); MyChart.Series.Add(series); }