Dim
objChart As New Telerik.Reporting.Chart()
objChart.SeriesPalette =
"Palette1"
objChart.Style.Color = Color.DarkBlue
objChart.BitmapResolution = 96.0F
objChart.ImageFormat = System.Drawing.Imaging.ImageFormat.Emf
objChart.Name = strFieldName
objChart.ChartTitle.TextBlock.Text = objChartDetails.ChartTitle
objChart.ChartTitle.Appearance.FillStyle.MainColor = Color.Transparent
objChart.Size =
New Telerik.Reporting.Drawing.SizeU(New Telerik.Reporting.Drawing.Unit(drReport("Width"), Telerik.Reporting.Drawing.UnitType.Pixel), New Telerik.Reporting.Drawing.Unit(drReport("Height"), Telerik.Reporting.Drawing.UnitType.Pixel))
objChart.ChartTitle.Appearance.Dimensions.Margins =
New Telerik.Reporting.Charting.Styles.ChartMargins(0, 10, 10, 10)
objChart.PlotArea.EmptySeriesMessage.Appearance.Visible =
True
objChart.PlotArea.EmptySeriesMessage.Visible =
True
objChart.PlotArea.Appearance.FillStyle.MainColor = Color.White
objChart.PlotArea.Appearance.FillStyle.SecondColor = Color.White
Dim
objChartSeries As New ChartSeries()
objChartSeries.DefaultLabelValue =
"#%"
objChartSeries.Appearance.TextAppearance.Visible =
True
objChartSeries.Appearance.LegendDisplayMode = Telerik.Reporting.Charting.ChartSeriesLegendDisplayMode.ItemLabels
objChartSeries.DataLabelsColumn =
"StatName"
objChartSeries.Type = objChartDetails.ChartType
objChartSeries.DataYColumn =
"StatCount"
objChart.Series.Add(objChartSeries)
........
my data source is from a table with StatName (varchar) and StatCount(int)
StatName StatCount
Verified 23
No-Verified 65
Attached is a sample of my result.
Thanks
quan
public class MyReportBook : Telerik.Reporting.ReportBookI want to bind a table to a list of objects, each object has a IDictionary.
public ObjectInstancevoid table1_ItemDataBinding(object sender, EventArgs e) { //create two HtmlTextBox items (one for header and one for data) which would be added to the items collection of the table Telerik.Reporting.HtmlTextBox textboxGroup; Telerik.Reporting.HtmlTextBox textBoxTable; //we do not clear the Rows collection, since we have a details row group and need to create columns only this.table1.ColumnGroups.Clear(); this.table1.Body.Columns.Clear(); this.table1.Body.Rows.Clear(); int i = 0; this.table1.ColumnHeadersPrintOnEveryPage = true; var attributes = _objectInstances.First().ObjectType.Attributes; foreach (var attribute in attributes) { if (string.IsNullOrWhiteSpace(attribute.ColumnName)) continue; var tableGroupColumn = new Telerik.Reporting.TableGroup(); this.table1.ColumnGroups.Add(tableGroupColumn); this.table1.Body.Columns.Add(new Telerik.Reporting.TableBodyColumn(Unit.Inch(1))); textboxGroup = new Telerik.Reporting.HtmlTextBox(); textboxGroup.Style.BorderColor.Default = Color.Black; textboxGroup.Style.BorderStyle.Default = BorderType.Solid; textboxGroup.Value = attribute.ColumnName; textboxGroup.Size = new SizeU(Unit.Inch(1.1), Unit.Inch(0.3)); tableGroupColumn.ReportItem = textboxGroup; textBoxTable = new Telerik.Reporting.HtmlTextBox(); textBoxTable.Style.BorderColor.Default = Color.Black; textBoxTable.Style.BorderStyle.Default = BorderType.Solid; textBoxTable.Value = "=Dictionary[\"" + attribute.ColumnName + "\"]"; //_objectInstances.First()[attribute.ColumnName].ToString(); textBoxTable.Size = new SizeU(Unit.Inch(1.1), Unit.Inch(0.3)); this.table1.Body.SetCellContent(0, i++, textBoxTable); this.table1.Items.AddRange(new ReportItemBase[] {textBoxTable, textboxGroup}); } }