Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
 public static void addReport(ReportAnswer Report)
 {
     CreatedReports.Add(Report.ReportID, Report);
 }