Exemple #1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="lc"></param>
        /// <param name="lccfg"></param>
        public static void Set(LineChart lc, LineChartConfig lccfg, object dataSource, string valueFormatString)
        {
            if (lc == null)
                throw new ArgumentNullException("lc");

            if (lccfg == null)
                throw new ArgumentNullException("lccfg");

            if (dataSource == null)
                throw new ArgumentNullException("dataSource");

            lc.Series.Clear();
            lc.Graphs.Clear();

            foreach ( LineGraphItemConfig itemConfig in lccfg.LineGraphItemConfigCollection )
            {
                am.Charts.LineChartGraph lcg = new LineChartGraph();
                lcg.EnableViewState = false;

                if (itemConfig.Color != Color.White)
                {
                    // title color
                    //
                    lcg.BalloonColor = itemConfig.Color;
                    // data point color
                    //
                    lcg.BulletColor = itemConfig.Color;
                    // line color
                    //
                    lcg.ForeColor = itemConfig.Color;
                }

                lcg.Title = itemConfig.Title;
                lcg.Bullet = LineChartBulletTypes.Round;
                DataView dsTable = dataSource as DataView;
                foreach (DataRowView rowView in dsTable)
                {
                    string seriesItemID = rowView.Row[lccfg.DataSeriesIDField].ToString();
                    object value = rowView.Row[itemConfig.DataValueField];
                    if (value == null || value == DBNull.Value)
                        continue;

                    value = Convert.ToDouble(value);
                    string strValue = string.Format(valueFormatString, value);
                    LineChartValuesDataItem item = new LineChartValuesDataItem(seriesItemID,
                        strValue);
                    lcg.Items.Add(item);
                }
                lc.Graphs.Add(lcg);
            }

            lc.YLeftValuesMin = lccfg.YLeftValueMin;
            lc.Connect = true;
            lc.DataSeriesIDField = lccfg.DataSeriesIDField;

            DataView view = dataSource as DataView;
            DataTable tbl =  view.ToTable(true, lccfg.DataSeriesIDField);
            lc.DataSource = tbl;
            lc.DataBind();
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="lc"></param>
        /// <param name="lccfg"></param>
        /// <param name="lineDataSource"></param>
        /// <param name="xAxisDataSource"></param>
        static public void Set(LineChart lc, LineChartConfig lccfg, object lineDataSource, object xAxisDataSource, string valueFormatString)
        {
            if (lc == null)
            {
                throw new ArgumentNullException("lc");
            }

            if (lccfg == null)
            {
                throw new ArgumentNullException("lccfg");
            }

            if (lineDataSource == null)
            {
                throw new ArgumentNullException("dataSource");
            }

            lc.Series.Clear();
            lc.Graphs.Clear();


            foreach (LineGraphItemConfig itemConfig in lccfg.LineGraphItemConfigCollection)
            {
                am.Charts.LineChartGraph lcg = new LineChartGraph();
                lcg.EnableViewState = false;
                lcg.Title           = itemConfig.Title;
                lcg.Bullet          = LineChartBulletTypes.Round;
                DataView dsTable = lineDataSource as DataView;
                foreach (DataRowView rowView in dsTable)
                {
                    string seriesItemID = rowView.Row[lccfg.DataSeriesIDField].ToString();
                    object value        = rowView.Row[itemConfig.DataValueField];
                    if (value == null || value == DBNull.Value)
                    {
                        continue;
                    }

                    value = Convert.ToDouble(value);
                    string strValue = string.Format(valueFormatString, value);
                    LineChartValuesDataItem item = new LineChartValuesDataItem(seriesItemID, strValue);
                    lcg.Items.Add(item);
                }
                lc.Graphs.Add(lcg);
            }

            lc.YLeftValuesMin    = lccfg.YLeftValueMin;
            lc.Connect           = true;
            lc.DataSeriesIDField = lccfg.DataSeriesIDField;

            DataView  view = xAxisDataSource as DataView;
            DataTable tbl  = view.ToTable(true, lccfg.DataSeriesIDField);

            lc.DataSource = tbl;
            lc.DataBind();
        }
Exemple #3
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dataSource"></param>
        /// <param name="lcCfg"></param>
        public void SetLineChartInfo(object dataSource, string filterColumn, string dateTimeColumn, string dataColumn,
            string title, string yTitle)
        {
            //string chartTitle = "2001-1-1 12:00:00 ~ 2001-1-1 12:00:00 一干渠 水位曲线";
            //this.LineChart1.Series.Clear();
            ////this.LineChart1.Graphs.Clear();
            //if (LineChart1.Graphs.Count > 0)
            //{
            //    this.LineChart1.Graphs[0].Items.Clear();
            //}

            this.LineChart1.Labels.Clear();
            //this.LineChart1 = new LineChart();
            //this.LineChart1 = new LineChart();
            ChartLabel titleLabel = new ChartLabel(title, 60, 20,false, 600, LabelAlignments.Center ,
                System.Drawing.Color.Black , 18);
            this.LineChart1.Labels.Add(titleLabel);

            ChartLabel yLabel = new ChartLabel(yTitle, 5, 150, true, 20, LabelAlignments.Center,
                System.Drawing.Color.Black, 12);

            this.LineChart1.Labels.Add(yLabel);

            DataTable source = dataSource as DataTable;
            DataTable convertedTable = DataTableConverter.ConvertRowToColumn(source, filterColumn,
                dataColumn, dateTimeColumn);

            LineChartConfig lccfg = new LineChartConfig();
            lccfg.DataSeriesIDField = dateTimeColumn;
            lccfg.YLeftValueMin = 0;

            foreach (DataColumn col in convertedTable.Columns)
            {
                if (!StringHelper.Equal(col.ColumnName, dateTimeColumn))
                {
                    LineGraphItemConfig item = new LineGraphItemConfig();
                    item.DataValueField = col.ColumnName;
                    item.Title = col.ColumnName;
                    item.Color = GetLineColor(col.ColumnName);
                    lccfg.LineGraphItemConfigCollection.Add(item);
                }
            }
            //Sort(lccfg.LineGraphItemConfigCollection);

            lccfg.LineGraphItemConfigCollection.Sort(this.StationOrderList);

            convertedTable.DefaultView.Sort = dateTimeColumn;
            LineGraphSetter.Set(this.LineChart1, lccfg, convertedTable.DefaultView,
                FormatStringManager.FloatValueFormatString);

            this.ColumnChart1.Visible = false;

            this.LineChart1.Visible = true;
        }
Exemple #4
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dataSource"></param>
        /// <param name="lcCfg"></param>
        public void SetDayLineChartInfo(object dataSource, string filterColumn, string dateTimeColumn, string dataColumn,
            string title, string yTitle)
        {
            this.LineChart1.Labels.Clear();

            ChartLabel titleLabel = new ChartLabel(title, 60, 20, false, 600, LabelAlignments.Center,
                System.Drawing.Color.Black, 18);

            this.LineChart1.Labels.Add(titleLabel);

            ChartLabel yLabel = new ChartLabel(yTitle, 5, 150, true, 20, LabelAlignments.Center,
                System.Drawing.Color.Black, 12);

            this.LineChart1.Labels.Add(yLabel);

            DataTable source = dataSource as DataTable;
            DataTable convertedTable = DataTableConverter.ConvertRowToColumn(source, filterColumn,
                dataColumn, dateTimeColumn);

            LineChartConfig lccfg = new LineChartConfig();
            lccfg.DataSeriesIDField = dateTimeColumn;
            lccfg.YLeftValueMin = 0;

            foreach (DataColumn col in convertedTable.Columns)
            {
                if (!StringHelper.Equal(col.ColumnName, dateTimeColumn))
                {
                    LineGraphItemConfig item = new LineGraphItemConfig();
                    item.DataValueField = col.ColumnName;
                    item.Title = col.ColumnName;
                    item.Color = GetLineColor(col.ColumnName);
                    lccfg.LineGraphItemConfigCollection.Add(item);
                }
            }

            convertedTable.DefaultView.Sort = dateTimeColumn;
            //LineGraphSetter.Set(this.LineChart1, lccfg, convertedTable.DefaultView);

            DataTable xAxisDataSource = GetDayXAxisDataSource ( convertedTable, dateTimeColumn );
            xAxisDataSource.DefaultView.Sort = dateTimeColumn;

            LineGraphSetter.Set(this.LineChart1, lccfg, convertedTable.DefaultView,
                xAxisDataSource.DefaultView, FormatStringManager.FloatValueFormatString);

            this.ColumnChart1.Visible = false;

            this.LineChart1.Visible = true;
        }