public void Create(ReportAnswer answer) { Answer = answer; dataReport.AutoGenerateColumns = false; dataReport.CanUserResizeColumns = false; dataReport.CanUserSortColumns = false; dataReport.CanUserReorderColumns = false; dataReport.Columns.Clear(); DataGridTemplateColumn columnHeader=new DataGridTemplateColumn(); columnHeader.Header = "Параметр"; DataTemplate temlate=headerTemplate; columnHeader.CellTemplate = temlate; columnHeader.ClipboardContentBinding = new System.Windows.Data.Binding(); columnHeader.ClipboardContentBinding.Mode = System.Windows.Data.BindingMode.OneTime; columnHeader.ClipboardContentBinding.Path = new PropertyPath("Header"); dataReport.Columns.Add(columnHeader); foreach (KeyValuePair<string,string> de in answer.Columns) { DataGridTemplateColumn column=new DataGridTemplateColumn(); column.Header = de.Value; column.CellTemplate = XamlReader.Load(columnTemplateStr.Replace("~param~",de.Key).Replace("~format~",answer.Formats[de.Key])) as DataTemplate; column.Width = new DataGridLength(1, DataGridLengthUnitType.SizeToCells); column.ClipboardContentBinding = new System.Windows.Data.Binding(); column.ClipboardContentBinding.Path = new PropertyPath("DataStr"); column.ClipboardContentBinding.Converter = converter; column.ClipboardContentBinding.ConverterParameter = de.Key; column.MinWidth = 50; dataReport.Columns.Add(column); } /*DataGridTextColumn columnHeader=new DataGridTextColumn(); columnHeader.Header = "Параметр"; columnHeader.IsReadOnly = true; columnHeader.Binding = new System.Windows.Data.Binding(); columnHeader.Binding.Mode = System.Windows.Data.BindingMode.OneTime; columnHeader.Binding.Path = new PropertyPath("Header"); dataReport.Columns.Add(columnHeader); foreach (KeyValuePair<string,string> de in answer.Columns){ DataGridTextColumn column=new DataGridTextColumn(); column.Header = de.Value; column.Binding = new System.Windows.Data.Binding(); column.Binding.Path = new PropertyPath("DataStr"); column.Binding.Converter = converter; column.Binding.ConverterParameter = de.Key; column.Width = new DataGridLength(1, DataGridLengthUnitType.SizeToCells); column.MinWidth = 50; dataReport.Columns.Add(column); }*/ dataReport.ItemsSource = answer.Data; chartControl.Create(answer.Chart); }
public Report(DateTime dateStart, DateTime dateEnd, IntervalReportEnum interval) { DateStart = dateStart; DateEnd = dateEnd; RealDateEnd = dateStart; Interval = interval; RecordTypes = new Dictionary<string, RecordTypeBase>(); Data = new SortedList<DateTime, Dictionary<string, double>>(); NeedRecords = new List<string>(); ResultData = new Dictionary<string, double>(); ResultDataFull = new SortedList<ResultTypeEnum, Dictionary<string, double>>(); ResultDataFull.Add(ResultTypeEnum.avg, new Dictionary<string, double>()); ResultDataFull.Add(ResultTypeEnum.max, new Dictionary<string, double>()); ResultDataFull.Add(ResultTypeEnum.min, new Dictionary<string, double>()); ResultDataFull.Add(ResultTypeEnum.sum, new Dictionary<string, double>()); Dates = new List<DateTime>(); DateTime date=NextDate(DateStart); while (date <= DateEnd) { Dates.Add(date); Data.Add(date, new Dictionary<string, double>()); date = NextDate(date); } Answer = new ReportAnswer(); }
public static void addReport(ReportAnswer Report) { CreatedReports.Add(Report.ReportID, Report); }