Report Constructor code
=======================
//chart
DataTable dtStudent = new DataTable();
//Columns of data table
dtStudent.Columns.Add("Name", typeof(string));
dtStudent.Columns.Add("Date", typeof(DateTime));
dtStudent.Columns.Add("Value", typeof(int));
//rows in the data table
//date1
dtStudent.Rows.Add("Multiplication", "2013-01-12", 25);
dtStudent.Rows.Add("division", "2013-01-12", 10);
dtStudent.Rows.Add("Addition", "2013-01-12", 15);
//date2
dtStudent.Rows.Add("Multiplication", "2013-01-13", 30);
dtStudent.Rows.Add("division", "2013-01-13", 11);
dtStudent.Rows.Add("Addition", "2013-01-13", 14);
//date3
dtStudent.Rows.Add("Multiplication", "2013-01-14", 28);
dtStudent.Rows.Add("division", "2013-01-14", 23);
dtStudent.Rows.Add("Addition", "2013-01-14", 25);
//date4
dtStudent.Rows.Add("Multiplication", "2013-01-15", 40);
dtStudent.Rows.Add("division", "2013-01-15", 49);
dtStudent.Rows.Add("Addition", "2013-01-15", 18);
Telerik.Reporting.Chart defChart = new Telerik.Reporting.Chart();
defChart.BitmapResolution = 96F;
defChart.ImageFormat = System.Drawing.Imaging.ImageFormat.Emf;
defChart.IntelligentLabelsEnabled = false;
defChart.Location = new Telerik.Reporting.Drawing.PointU(new Telerik.Reporting.Drawing.Unit(0.32, ((Telerik.Reporting.Drawing.UnitType)(Telerik.Reporting.Drawing.UnitType.Cm))), new Telerik.Reporting.Drawing.Unit(1.8, ((Telerik.Reporting.Drawing.UnitType)(Telerik.Reporting.Drawing.UnitType.Cm))));
defChart.PlotArea.EmptySeriesMessage.Appearance.Visible = true;
defChart.PlotArea.EmptySeriesMessage.Visible = true;
defChart.PlotArea.XAxis.AxisLabel.Visible = true;
defChart.PlotArea.YAxis.AxisLabel.Visible = true;
defChart.Size = new Telerik.Reporting.Drawing.SizeU(new Telerik.Reporting.Drawing.Unit(15, ((Telerik.Reporting.Drawing.UnitType)(Telerik.Reporting.Drawing.UnitType.Cm))), new Telerik.Reporting.Drawing.Unit(10, ((Telerik.Reporting.Drawing.UnitType)(Telerik.Reporting.Drawing.UnitType.Cm))));
defChart.ChartTitle.Visible = false;
var distinctResult = (from row in dtStudent.AsEnumerable()
select row.Field<
string
>("Name")).Distinct();
foreach (string name in distinctResult)
{
var dataResult = from row in dtStudent.AsEnumerable()
where row.Field<
string
>("Name") == name
select new
{
Name = row.Field<
string
>("Name"),
Date = row.Field<
DateTime
>("Date"),
Value = row.Field<
int
>("Value")
};
Telerik.Reporting.Charting.ChartSeries chartSeries = new Telerik.Reporting.Charting.ChartSeries();
chartSeries.Type = Telerik.Reporting.Charting.ChartSeriesType.Line;
chartSeries.Name = name;
chartSeries.Appearance.LabelAppearance.Visible = false;
defChart.Legend.Visible = false;
foreach (var record in dataResult)
{
ChartSeriesItem item = new ChartSeriesItem();
item.XValue = record.Date.ToOADate();
item.YValue = record.Value;
chartSeries.AddItem(item);
}
defChart.Series.Add(chartSeries);
}
defChart.PlotArea.XAxis.Appearance.ValueFormat = Telerik.Reporting.Charting.Styles.ChartValueFormat.ShortDate;
defChart.PlotArea.XAxis.Appearance.LabelAppearance.RotationAngle = 315;
defChart.PlotArea.XAxis.Appearance.LabelAppearance.Position.AlignedPosition = Telerik.Reporting.Charting.Styles.AlignedPositions.TopLeft;
defChart.PlotArea.XAxis.LayoutMode = Telerik.Reporting.Charting.Styles.ChartAxisLayoutMode.Inside;
defChart.PlotArea.XAxis.IsZeroBased = false;
defChart.PlotArea.XAxis.AutoScale = true;
defChart.PlotArea.XAxis.LabelStep = 1;
//Margins
Telerik.Reporting.Charting.Styles.ChartMargins chartMargins2 = new Telerik.Reporting.Charting.Styles.ChartMargins();
chartMargins2.Bottom = new Telerik.Reporting.Charting.Styles.Unit(40D, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
chartMargins2.Top = new Telerik.Reporting.Charting.Styles.Unit(5D, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
chartMargins2.Right = new Telerik.Reporting.Charting.Styles.Unit(20D, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
chartMargins2.Left = new Telerik.Reporting.Charting.Styles.Unit(5D, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
defChart.PlotArea.Appearance.Dimensions.Margins = chartMargins2;
this.detail.Items.AddRange(new Telerik.Reporting.ReportItemBase[] { defChart });
Calling aspx page:
==============
Student.aspx
===============
<
telerik:ReportViewer
ID
=
"ReportViewer1"
runat
=
"server"
Height
=
"580px"
Width
=
"1080px"
></
telerik:ReportViewer
>
Code behind
================
Telerik.Reporting.InstanceReportSource instanceReportSource = new Telerik.Reporting.InstanceReportSource();
StudentLineReport objRep = new StudentLineReport();
instanceReportSource.ReportDocument = objRep;
this.ReportViewer1.ReportSource = instanceReportSource;
I m rendering a line chart from the report viewer as well as design preview. The design preview is showing the complete chart, but while running it in the report viewer, the chart is not displayed completely(see attachments). Also while exporting the chart to the PDF, it is rendered in different size.
Please find the attached snapshots and the code for the scenario.
Please let me know how to show the chart completely in the telerik report viewer. Also the chart should appear of same size in both telerik report viewer and exported pdf file. kindly help me on this one.