private void Form1_Load(object sender, EventArgs e) { Dashboard dashboard = new Dashboard(); // Create an OLAP dashboard data source with the connection string // stored in the app.config file. DashboardOlapDataSource olapDataSource = new DashboardOlapDataSource(); olapDataSource.ConnectionName = "AdventureWorksString"; dashboard.DataSources.Add(olapDataSource); // Create a scatter chart and binds it to data. ScatterChartDashboardItem scatterChart = new ScatterChartDashboardItem(); scatterChart.DataSource = olapDataSource; scatterChart.AxisXMeasure = new Measure("[Measures].[Sales Amount]"); scatterChart.AxisYMeasure = new Measure("[Measures].[Gross Profit Margin]"); scatterChart.Arguments.Add(new Dimension("[Product].[Category].[Category]")); scatterChart.Weight = new Measure("[Measures].[Gross Profit]"); // Add the scatter chart to the dashboard and // display the dashboard in the Dashboard Viewer. dashboard.Items.Add(scatterChart); dashboardViewer1.Dashboard = dashboard; }
public Form1() { InitializeComponent(); dashboardDesigner1.CreateRibbon(); dashboardDesigner1.LoadDashboard(@"../../nwindDashboard.xml"); ScatterChartDashboardItem scatterChart1 = (ScatterChartDashboardItem)dashboardDesigner1.Dashboard.Items["scatterChartDashboardItem1"]; AddFormatRulesToScatterChart(scatterChart1); new ScatterChartConstantLineUserValueModule(dashboardDesigner1, svgImageCollection1["chartrangearea"]); }
void Designer_DashboardItemControlUpdated(object sender, DashboardItemControlEventArgs e) { if (e.ChartControl != null) { ScatterChartDashboardItem scatterDashboardItem = designer.Dashboard.Items[e.DashboardItemName] as ScatterChartDashboardItem; if (scatterDashboardItem != null) { UpdateChart(e.ChartControl.Series, scatterDashboardItem); } } }
ScatterChartConstantLineUserData GetConstantLineModuleData(ScatterChartDashboardItem dashboardItem) { var data = GetDataFromString(dashboardItem.CustomProperties.GetValue(PropertyName)); using (ValueSelectorControl selector = new ValueSelectorControl(data)) { if (XtraDialog.Show(selector, "Adjust constant lines") == DialogResult.OK) { return(selector.ConstantLineModuleData); } } return(null); }
void UpdateChart(SeriesCollection series, ScatterChartDashboardItem chartDashboardItem) { ScatterChartConstantLineUserData moduleData = GetDataFromString(chartDashboardItem.CustomProperties.GetValue(PropertyName)); if (moduleData != null && moduleData.Enabled) { BubbleSeriesView seriesView = series.OfType <Series>().Where(s => s.View is BubbleSeriesView).Select(s => s.View as BubbleSeriesView).FirstOrDefault(); if (seriesView != null) { seriesView.AxisX.ConstantLines.Clear(); seriesView.AxisY.ConstantLines.Clear(); SetUpLine(seriesView.AxisX, ColorTranslator.FromHtml("#14abb7"), ColorTranslator.FromHtml("#0e9ca9"), moduleData.VerticalAxisValue); SetUpLine(seriesView.AxisY, ColorTranslator.FromHtml("#14abb7"), ColorTranslator.FromHtml("#0e9ca9"), moduleData.HorizontalAxisValue); } } }
void Designer_CustomExport(object sender, CustomExportEventArgs e) { Dictionary <string, XRControl> controls = e.GetPrintableControls(); foreach (KeyValuePair <string, XRControl> pair in controls) { XRChart xrChart = pair.Value as XRChart; if (xrChart != null) { string itemComponentName = pair.Key; ScatterChartDashboardItem chart = designer.Dashboard.Items[itemComponentName] as ScatterChartDashboardItem; if (chart != null) { UpdateChart(xrChart.Series, chart); } } } }
public void AddFormatRulesToScatterChart(ScatterChartDashboardItem scatterChart) { double unitCountThreshold = 7000; double discountThreshold = 18; ScatterChartItemFormatRule expressionRule1 = new ScatterChartItemFormatRule(); expressionRule1.DataItem = scatterChart.AxisYMeasure; FormatConditionExpression formatCondition = new FormatConditionExpression(); formatCondition.Expression = $"{scatterChart.AxisYMeasure.UniqueId} > {unitCountThreshold} && {scatterChart.AxisXMeasure.UniqueId} > {discountThreshold}"; formatCondition.StyleSettings = new ColorStyleSettings(ColorTranslator.FromHtml("#14abb7")); expressionRule1.Condition = formatCondition; expressionRule1.ShowInLegend = true; expressionRule1.DisplayName = "Discount amount from the quantity of products sold"; scatterChart.FormatRules.Add(expressionRule1); ScatterChartConstantLineUserData moduleData = new ScatterChartConstantLineUserData() { Enabled = true, VerticalAxisValue = discountThreshold, HorizontalAxisValue = unitCountThreshold }; scatterChart.CustomProperties.SetValue(ScatterChartConstantLineUserValueModule.PropertyName, moduleData.GetStringFromData()); }