public Form1() { InitializeComponent(); intermediateTable = new DataTable(); currentChartDataSourceType = ChartDataSourceType.PivotGrid; }
private void BindChartToIntermediateTable(ChartDataSourceType chartDataSourceType) { chartControl1.DataSource = intermediateTable; // Assign the intermediate table to the FilterControl. filterControl1.SourceControl = intermediateTable; if (chartDataSourceType == ChartDataSourceType.PivotGrid) { chartControl1.SeriesDataMember = "Series"; chartControl1.SeriesTemplate.ArgumentDataMember = "Arguments"; chartControl1.SeriesTemplate.ValueDataMembers.AddRange(new string[] { "Values" }); } else if (chartDataSourceType == ChartDataSourceType.PivotSummary) { if (cbArgument.Text != null && cbValue.Text != null) { try { chartControl1.Series.Clear(); chartControl1.Series.Add(new Series("Series", ViewType.Bar)); chartControl1.Series[0].ArgumentDataMember = cbArgument.Text; chartControl1.Series[0].ValueDataMembers.AddRange(new string[] { cbValue.Text }); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } chartControl1.RefreshData(); }
private void FillIntermidiateTable(ChartDataSourceType chartDataSourceType) { object realDataSource = null; if (chartDataSourceType == ChartDataSourceType.PivotGrid) { realDataSource = pivotGridControl1; } else if (chartDataSourceType == ChartDataSourceType.PivotSummary) { realDataSource = pivotGridControl1.CreateSummaryDataSource(); } intermediateTable.Rows.Clear(); for (int i = 0; i < ((IList)pivotGridControl1).Count; i++) { DataRow row = intermediateTable.NewRow(); foreach (PropertyDescriptor d in ((ITypedList)realDataSource).GetItemProperties(null)) { object value = d.GetValue(((IList)realDataSource)[i]); row[d.Name] = (value != null ? value : DBNull.Value); } intermediateTable.Rows.Add(row); } }
public void TransferData(ChartDataSourceType chartDataSourceType) { CreateIntermidiateTableSchema(chartDataSourceType); FillArgValComboBoxes(); FillIntermidiateTable(chartDataSourceType); BindChartToIntermidiateTable(chartDataSourceType); }
private void pivotSummaryToolStripMenuItem_Click(object sender, EventArgs e) { pivotSummaryToolStripMenuItem.Checked = true; pivotGridToolStripMenuItem.Checked = false; chartDataVerticalToolStripMenuItem.Enabled = false; selectionOnlyToolStripMenuItem.Enabled = false; cbArgument.Enabled = true; cbValue.Enabled = true; currentChartDataSourceType = ChartDataSourceType.PivotSummary; TransferData(currentChartDataSourceType); }
public void TransferData(ChartDataSourceType chartDataSourceType) { // Reset the FilterControl's data. filterControl1.SourceControl = null; intermediateTable.DefaultView.RowFilter = ""; CreateIntermidiateTableSchema(chartDataSourceType); FillArgValComboBoxes(); FillIntermidiateTable(chartDataSourceType); BindChartToIntermediateTable(chartDataSourceType); // Assign the intermediate table to the FilterControl, // and apply the filtering. filterControl1.SourceControl = intermediateTable; filterControl1.ApplyFilter(); }
private void CreateIntermidiateTableSchema(ChartDataSourceType chartDataSourceType) { PropertyDescriptorCollection columnsInfo = null; if (chartDataSourceType == ChartDataSourceType.PivotGrid) { columnsInfo = ((ITypedList)pivotGridControl1).GetItemProperties(null); } else if (chartDataSourceType == ChartDataSourceType.PivotSummary) { columnsInfo = ((ITypedList)pivotGridControl1.CreateSummaryDataSource()).GetItemProperties(null); } intermediateTable.Columns.Clear(); foreach (PropertyDescriptor propertyDescriptor in columnsInfo) { intermediateTable.Columns.Add(propertyDescriptor.Name, propertyDescriptor.PropertyType); } }
public static void Run() { //ExStart:DataSourceTypePropertyAdded // The path to the documents directory. string dataDir = RunExamples.GetDataDir_Charts(); using (Presentation pres = new Presentation(dataDir + "pres.pptx")) { ISlide slide = pres.Slides[1]; IChart chart = (IChart)slide.Shapes[0]; ChartDataSourceType sourceType = chart.ChartData.DataSourceType; if (sourceType == ChartDataSourceType.ExternalWorkbook) { string path = chart.ChartData.ExternalWorkbookPath; } // Saving presentation pres.Save(dataDir + "Result.pptx", SaveFormat.Pptx); } }