///<summary>读取场景统计数据</summary> void readSceneData() { //40场景 string sql = ""; string sim = "select top 40 iv1e1 as id, fmin0max1 as idx1, fmin0.9max1.1 as idx2, fmin0max4000 as idx3, fmin0max0.4 as idx4, fmin0max1 as idx5, fmin0max1 as idx6, imin0max400 as hours"; DataTable dt = DataLayer.DataProvider.getDataTable(sql, sim, DataLayer.EReadMode.模拟).Value; foreach (DataRow dr in dt.Rows) { SceneDataItem tmp = new SceneDataItem(scenedata); tmp.num = dr.getInt("id"); tmp.hours = dr.getInt("hours"); tmp.idx1.value = dr.getDouble("idx1"); tmp.idx2.value = dr.getDouble("idx2"); tmp.idx3.value = dr.getDouble("idx3"); tmp.idx4.value = dr.getDouble("idx4"); tmp.idx5.value = dr.getDouble("idx5"); tmp.idx6.value = dr.getDouble("idx6"); scenedata.items.Add(tmp); } scenedata.init(); foreach (var item in scenedata.items) { scenepanel.Children.Add(item.button); item.button.MouseDown += new MouseButtonEventHandler(button_MouseDown); } }
///<summary>初始化场景数据</summary> void initSceneData() { //模拟数据 for (int i = 0; i < 40; i++) { SceneDataItem tmp = new SceneDataItem(scenedata); tmp.num = i + 1; tmp.idx1.value = rd.NextDouble(); tmp.idx2.value = 0.9 + 0.23 * rd.NextDouble(); tmp.idx3.value = rd.NextDouble() * 3300; tmp.idx4.value = rd.NextDouble(); tmp.idx5.value = rd.NextDouble(); tmp.idx6.value = rd.NextDouble(); scenedata.items.Add(tmp); } scenedata.init(); foreach (var item in scenedata.items) { scenepanel.Children.Add(item.button); item.button.MouseDown += new MouseButtonEventHandler(button_MouseDown); } }
public SceneButton(SceneDataItem Data) { data = Data; Width = 27; Height = 27; Background = Brushes.Black; BorderThickness = new Thickness(1); Margin = new Thickness(1.5, 1, 1.5, 0); BorderBrush = Brushes.Gray; Cursor = Cursors.Hand; Grid grd = new Grid(); this.Child = grd; Rectangle rect; rect = new Rectangle() { Width = 2, Height = 30.0 * data.idx1.value / data.datas.maxidx1, Fill = Brushes.Red, Margin = new Thickness(6, 0, 0, 0), VerticalAlignment = VerticalAlignment.Bottom, HorizontalAlignment = HorizontalAlignment.Left }; grd.Children.Add(rect); rect = new Rectangle() { Width = 2, Height = 30.0 * data.idx2.value / data.datas.maxidx2, Fill = Brushes.Green, Margin = new Thickness(12, 0, 0, 0), VerticalAlignment = VerticalAlignment.Bottom, HorizontalAlignment = HorizontalAlignment.Left }; grd.Children.Add(rect); rect = new Rectangle() { Width = 2, Height = 30.0 * data.idx3.value / data.datas.maxidx3, Fill = Brushes.Blue, Margin = new Thickness(20, 0, 0, 0), VerticalAlignment = VerticalAlignment.Bottom, HorizontalAlignment = HorizontalAlignment.Left }; grd.Children.Add(rect); txtNum = new TextBlock() { Text = data.num.ToString(), Foreground = new SolidColorBrush(Color.FromArgb(0x30, 0xFF, 0xFF, 0xFF)), FontSize = 20, FontWeight = FontWeights.ExtraBold, FontStretch = FontStretches.ExtraExpanded, VerticalAlignment = System.Windows.VerticalAlignment.Center, HorizontalAlignment = System.Windows.HorizontalAlignment.Center }; grd.Children.Add(txtNum); }