private void btnUpdateLayout_Click(object sender, EventArgs e) { Dashboard dashboard = new Dashboard(); dashboard.LoadFromXml(@"..\..\Data\Dashboard.xml"); DashboardItem grid = (GridDashboardItem)dashboard.Items[0]; DashboardItem chart = (ChartDashboardItem)dashboard.Items[1]; DashboardItem range = (RangeFilterDashboardItem)dashboard.Items[2]; // Creates layout items used to display dashboard items. DashboardLayoutItem gridItem = new DashboardLayoutItem(grid, 35); DashboardLayoutItem chartItem = new DashboardLayoutItem(chart, 65); DashboardLayoutItem rangeItem = new DashboardLayoutItem(range, 20); // Creates a layout group that contains two layout items. DashboardLayoutGroup group1 = new DashboardLayoutGroup(DashboardLayoutGroupOrientation.Horizontal, 80, gridItem, chartItem); // Creates a root layout group that contains the previously created group and // the layout item displaying the Range Filter dashboard item. DashboardLayoutGroup rootGroup = new DashboardLayoutGroup(DashboardLayoutGroupOrientation.Vertical, 1, group1, rangeItem); // Specifies the root dashboard layout group. dashboard.LayoutRoot = rootGroup; dashboardViewer1.Dashboard = dashboard; }
private Dashboard CreateDashboard() { DashboardExcelDataSource excelDataSource = CreateExcelDataSource(); Dashboard dBoard = new Dashboard(); dBoard.DataSources.Add(excelDataSource); dBoard.BeginUpdate(); // Create dashboard items. ChartDashboardItem chart = CreateChart(excelDataSource); dBoard.Items.Add(chart); DateFilterDashboardItem dateFilterItem = CreateDateFilterItem(excelDataSource); dBoard.Items.Add(dateFilterItem); DashboardItemGroup group = CreateGroup(); dBoard.Groups.Add(group); group.AddRange(dateFilterItem, chart); // Create layout tree. DashboardLayoutItem dateFilterLayoutItem = new DashboardLayoutItem(dateFilterItem, 30); DashboardLayoutItem chartLayoutItem = new DashboardLayoutItem(chart, 70); DashboardLayoutGroup groupLayoutItem = new DashboardLayoutGroup(group, 100); groupLayoutItem.ChildNodes.AddRange(dateFilterLayoutItem, chartLayoutItem); DashboardLayoutGroup rootGroup = new DashboardLayoutGroup(null, 100); rootGroup.ChildNodes.Add(groupLayoutItem); rootGroup.Orientation = DashboardLayoutGroupOrientation.Vertical; dBoard.LayoutRoot = rootGroup; dBoard.EndUpdate(); return(dBoard); }
private Dashboard CreateDashboard() { Dashboard dBoard = new Dashboard(); OlapConnectionParameters olapParams = new OlapConnectionParameters(); olapParams.ConnectionString = @"provider=MSOLAP; data source=http://demos.devexpress.com/Services/OLAP/msmdpump.dll; initial catalog=Adventure Works DW Standard Edition; cube name=Adventure Works;"; DashboardOlapDataSource olapDataSource = new DashboardOlapDataSource(olapParams); dBoard.DataSources.Add(olapDataSource); CardDashboardItem cardItem = new CardDashboardItem(); cardItem.DataSource = olapDataSource; cardItem.SeriesDimensions.Add(new Dimension("[Sales Territory].[Sales Territory Country].[Sales Territory Country]")); cardItem.SparklineArgument = new Dimension("[Date].[Month of Year].[Month of Year]", DateTimeGroupInterval.MonthYear); Card card = new Card(); card.LayoutTemplate = new CardStretchedLayoutTemplate(); card.ActualValue = new Measure("[Measures].[Internet Sales Amount]"); card.TargetValue = new Measure("[Measures].[Sales Amount]"); cardItem.Cards.Add(card); ChartDashboardItem chartItem = new ChartDashboardItem(); chartItem.DataSource = olapDataSource; chartItem.Arguments.Add(new Dimension("[Sales Territory].[Sales Territory].[Country]")); chartItem.Panes.Add(new ChartPane()); SimpleSeries salesAmountSeries = new SimpleSeries(SimpleSeriesType.Bar); salesAmountSeries.Value = new Measure("[Measures].[Sales Amount]"); chartItem.Panes[0].Series.Add(salesAmountSeries); SimpleSeries salesInernetAmountSeries = new SimpleSeries(SimpleSeriesType.Bar); salesInernetAmountSeries.Value = new Measure("[Measures].[Internet Sales Amount]"); chartItem.Panes[0].Series.Add(salesInernetAmountSeries); dBoard.Items.AddRange(cardItem, chartItem); DashboardLayoutItem cardLayoutItem = new DashboardLayoutItem(cardItem); DashboardLayoutItem chartLayoutItem = new DashboardLayoutItem(chartItem); DashboardLayoutGroup rootGroup = new DashboardLayoutGroup(DashboardLayoutGroupOrientation.Vertical, 50D, cardLayoutItem, chartLayoutItem); dBoard.LayoutRoot = rootGroup; return(dBoard); }
private void ChangeLayout(DashboardToolbarItemClickEventArgs args) { Dashboard dashboard = new Dashboard(); dashboard.LoadFromXml(@"Data\LayoutUnordered.xml"); dashboard.BeginUpdate(); // Switch off the DateFilter item's AutoHeight arrangement mode so that the DateFilter layout does not ignore its layout weight. ((DateFilterDashboardItem)(dashboard.Items["dateFilterDashboardItem1"])).ArrangementMode = DateFilterArrangementMode.Horizontal; // Hide captions. dashboard.Items.ForEach(item => item.ShowCaption = false); dashboard.Groups.ForEach(item => item.ShowCaption = false); // Create layout items for the DateFilter and Chart dashboard items. DashboardLayoutItem dateFilterLayoutItem = new DashboardLayoutItem(dashboard.Items["dateFilterDashboardItem1"], 13); DashboardLayoutItem chartLayoutItem = new DashboardLayoutItem(dashboard.Items["chartDashboardItem1"], 87); // Create a layout item for the dashboard Group item. DashboardLayoutGroup groupLayoutItem = new DashboardLayoutGroup() { Orientation = DashboardLayoutGroupOrientation.Vertical, DashboardItem = dashboard.Groups["dashboardItemGroup1"], Weight = 70 }; // Connect layout items in the layout tree. groupLayoutItem.ChildNodes.AddRange(dateFilterLayoutItem, chartLayoutItem); // Create a Grid layout item. DashboardLayoutItem gridLayoutItem = new DashboardLayoutItem(dashboard.Items["gridDashboardItem1"], 30); // Create a group layout item to organize the Grid layout item and a Dashboard Group layout item. DashboardLayoutGroup layoutGroup = new DashboardLayoutGroup(DashboardLayoutGroupOrientation.Horizontal, 85); // Connect layout items in the layout tree. layoutGroup.ChildNodes.AddRange(gridLayoutItem, groupLayoutItem); // Create a RangeFilter layout item. DashboardLayoutItem rangeFilterLayoutItem = new DashboardLayoutItem(dashboard.Items["rangeFilterDashboardItem1"], 15); // Create a root layout group. Its DashboardItem property is null. DashboardLayoutGroup rootGroup = new DashboardLayoutGroup() { Orientation = DashboardLayoutGroupOrientation.Vertical, Weight = 100, DashboardItem = null }; // Connect layout items in the layout tree. rootGroup.ChildNodes.AddRange(layoutGroup, rangeFilterLayoutItem); // The layout treee is built. Set the dashboard's root layout node to finalize the layout. dashboard.LayoutRoot = rootGroup; dashboard.EndUpdate(); dashboardViewer1.Dashboard = dashboard; }