public Form1()
        {
            InitializeComponent();
            dashboardDesigner1.CreateRibbon();

            Dashboard dashboard = new Dashboard();

            DashboardExcelDataSource excelDataSource = new DashboardExcelDataSource("Excel Data Source");

            excelDataSource.FileName      = @"..\..\Data\GDPByCountry.xlsx";
            excelDataSource.SourceOptions = new ExcelSourceOptions(new ExcelWorksheetSettings("Sheet1"));
            dashboard.DataSources.Add(excelDataSource);

            GridDashboardItem grid = new GridDashboardItem();

            grid.DataSource = excelDataSource;

            // Creates two hyperlink columns: the first column takes hyperlinks from the underlying data source while the second
            // generates links based on the specified URI pattern and country names.
            GridHyperlinkColumn hyperlinkColumn1 = new GridHyperlinkColumn(new Dimension("Name"));

            hyperlinkColumn1.UriDataMember = "Link";
            GridHyperlinkColumn hyperlinkColumn2 = new GridHyperlinkColumn(new Dimension("OfficialName"));

            hyperlinkColumn2.UriDataMember = "Name";
            hyperlinkColumn2.UriPattern    = "https://en.wikipedia.org/wiki/{0}";

            GridMeasureColumn gdpColumn = new GridMeasureColumn(new Measure("GDP"));

            grid.Columns.AddRange(hyperlinkColumn1, hyperlinkColumn2, gdpColumn);
            dashboard.Items.Add(grid);
            dashboardDesigner1.Dashboard = dashboard;
        }
        private static void AddRowsByGridDashboardItem(GridDashboardItem gridItem, MultiDimensionalData mData, DataTable dataTable)
        {
            IList <string> axis     = mData.GetAxisNames();
            int            rowCount = GetRowCount(mData, axis);

            for (int i = 0; i < rowCount; i++)
            {
                AxisPoint point  = mData.GetAxisPoints(axis[0])[i];
                DataRow   newRow = dataTable.NewRow();
                foreach (GridColumnBase column in gridItem.Columns)
                {
                    GridMeasureColumn mCol = column as GridMeasureColumn;
                    if (mCol != null)
                    {
                        newRow[mCol.Measure.DataMember] = GetMesureValue(mData, point, mCol);
                    }

                    GridDimensionColumn dCol = column as GridDimensionColumn;
                    if (dCol != null)
                    {
                        newRow[dCol.Dimension.DataMember] = GetDimenstionValue(mData, axis, point, dCol);
                    }
                }
                dataTable.Rows.Add(newRow);
            }
        }
示例#3
0
        public Form1()
        {
            InitializeComponent();
            Dashboard dashboard = new Dashboard(); dashboard.LoadFromXml(@"..\..\Data\Dashboard.xml");

            dashboardViewer1.Dashboard = dashboard;
            GridDashboardItem grid          = (GridDashboardItem)dashboard.Items["gridDashboardItem1"];
            GridMeasureColumn extendedPrice = (GridMeasureColumn)grid.Columns[1];

            extendedPrice.Measure.UniqueId = "extendedPrice";

            DashboardParameter priceParameter = new DashboardParameter();

            priceParameter.LookUpSettings = null;
            priceParameter.Name           = "priceParameter";
            priceParameter.Type           = typeof(decimal);
            priceParameter.Value          = 150000;
            priceParameter.Description    = "Format values that are greater than";
            dashboard.Parameters.Add(priceParameter);

            GridItemFormatRule        greaterThanRule      = new GridItemFormatRule(extendedPrice);
            FormatConditionExpression greaterThanCondition = new FormatConditionExpression();

            greaterThanCondition.Expression    = "extendedPrice > [Parameters.priceParameter]";
            greaterThanCondition.StyleSettings =
                new AppearanceSettings(FormatConditionAppearanceType.PaleGreen);
            greaterThanRule.ApplyToRow = true;
            greaterThanRule.Condition  = greaterThanCondition;

            grid.FormatRules.AddRange(greaterThanRule);
        }
        public Form1()
        {
            InitializeComponent();
            Dashboard dashboard = new Dashboard(); dashboard.LoadFromXml(@"..\..\Data\Dashboard.xml");

            dashboardViewer1.Dashboard = dashboard;
            GridDashboardItem   grid          = (GridDashboardItem)dashboard.Items["gridDashboardItem1"];
            GridDimensionColumn salesPerson   = (GridDimensionColumn)grid.Columns[0];
            GridMeasureColumn   extendedPrice = (GridMeasureColumn)grid.Columns[1];

            GridItemFormatRule       topRule      = new GridItemFormatRule(extendedPrice, salesPerson);
            FormatConditionTopBottom topCondition = new FormatConditionTopBottom();

            topCondition.TopBottom     = DashboardFormatConditionTopBottomType.Top;
            topCondition.RankType      = DashboardFormatConditionValueType.Number;
            topCondition.Rank          = 3;
            topCondition.StyleSettings = new IconSettings(FormatConditionIconType.IndicatorGreenCheck);
            topRule.Condition          = topCondition;

            GridItemFormatRule       bottomRule      = new GridItemFormatRule(extendedPrice, salesPerson);
            FormatConditionTopBottom bottomCondition = new FormatConditionTopBottom();

            bottomCondition.TopBottom     = DashboardFormatConditionTopBottomType.Bottom;
            bottomCondition.RankType      = DashboardFormatConditionValueType.Percent;
            bottomCondition.Rank          = 40;
            bottomCondition.StyleSettings = new IconSettings(FormatConditionIconType.IndicatorRedFlag);
            bottomRule.Condition          = bottomCondition;

            GridItemFormatRule     aboveAverageRule      = new GridItemFormatRule(extendedPrice);
            FormatConditionAverage aboveAverageCondition = new FormatConditionAverage();

            aboveAverageCondition.AverageType   = DashboardFormatConditionAboveBelowType.Above;
            aboveAverageCondition.StyleSettings =
                new AppearanceSettings(Color.Green, FontStyle.Underline);
            aboveAverageRule.Condition = aboveAverageCondition;

            GridItemFormatRule     belowAverageRule      = new GridItemFormatRule(extendedPrice);
            FormatConditionAverage belowAverageCondition = new FormatConditionAverage();

            belowAverageCondition.AverageType   = DashboardFormatConditionAboveBelowType.Below;
            belowAverageCondition.StyleSettings =
                new AppearanceSettings(Color.Orange, FontStyle.Underline);
            belowAverageRule.Condition = belowAverageCondition;

            grid.FormatRules.AddRange(topRule, bottomRule, aboveAverageRule, belowAverageRule);
        }
        public Form1()
        {
            InitializeComponent();
            Dashboard dashboard = new Dashboard(); dashboard.LoadFromXml(@"..\..\Data\Dashboard.xml");

            dashboardViewer1.Dashboard = dashboard;
            GridDashboardItem grid          = (GridDashboardItem)dashboard.Items["gridDashboardItem1"];
            GridMeasureColumn extendedPrice = (GridMeasureColumn)grid.Columns[1];

            GridItemFormatRule rangeRule = new GridItemFormatRule(extendedPrice);
            FormatConditionGradientRangeBar rangeBarCondition =
                new FormatConditionGradientRangeBar(FormatConditionRangeGradientPredefinedType.BlueRed);

            rangeBarCondition.BarOptions.ShowBarOnly = true;
            rangeRule.Condition = rangeBarCondition;

            grid.FormatRules.AddRange(rangeRule);
        }
        private static void CreateColumnsByGridDashboardItem(GridDashboardItem gridItem, DataTable dataTable)
        {
            foreach (GridColumnBase column in gridItem.Columns)
            {
                DataColumn        tableCol = new DataColumn();
                GridMeasureColumn mCol     = column as GridMeasureColumn;
                if (mCol != null)
                {
                    tableCol.ColumnName = mCol.Measure.DataMember;
                }

                GridDimensionColumn dCol = column as GridDimensionColumn;
                if (dCol != null)
                {
                    tableCol.ColumnName = dCol.Dimension.DataMember;
                }
                dataTable.Columns.Add(tableCol);
            }
        }
        public Form1()
        {
            InitializeComponent();
            Dashboard dashboard = new Dashboard(); dashboard.LoadFromXml(@"..\..\Data\Dashboard.xml");

            dashboardViewer1.Dashboard = dashboard;
            GridDashboardItem grid          = (GridDashboardItem)dashboard.Items["gridDashboardItem1"];
            GridMeasureColumn extendedPrice = (GridMeasureColumn)grid.Columns[1];

            GridItemFormatRule barRule      = new GridItemFormatRule(extendedPrice);
            FormatConditionBar barCondition = new FormatConditionBar();

            barCondition.StyleSettings                = new BarStyleSettings(FormatConditionAppearanceType.PaleBlue);
            barCondition.NegativeStyleSettings        = new BarStyleSettings(FormatConditionAppearanceType.PaleRed);
            barCondition.BarOptions.AllowNegativeAxis = checkBox1.Checked;
            barCondition.BarOptions.DrawAxis          = true;
            barRule.Condition = barCondition;

            grid.FormatRules.AddRange(barRule);
        }
示例#8
0
        public Form1()
        {
            InitializeComponent();
            Dashboard dashboard = new Dashboard(); dashboard.LoadFromXml(@"..\..\Data\Dashboard.xml");

            dashboardViewer1.Dashboard = dashboard;
            GridDashboardItem grid          = (GridDashboardItem)dashboard.Items["gridDashboardItem1"];
            GridMeasureColumn extendedPrice = (GridMeasureColumn)grid.Columns[1];

            GridItemFormatRule   lessThanRule      = new GridItemFormatRule(extendedPrice);
            FormatConditionValue lessThanCondition = new FormatConditionValue();

            lessThanCondition.Condition     = DashboardFormatCondition.LessOrEqual;
            lessThanCondition.Value1        = 100000;
            lessThanCondition.StyleSettings =
                new AppearanceSettings(FormatConditionAppearanceType.FontRed);
            lessThanRule.Condition = lessThanCondition;

            GridItemFormatRule   betweenRule      = new GridItemFormatRule(extendedPrice);
            FormatConditionValue betweenCondition = new FormatConditionValue();

            betweenCondition.Condition     = DashboardFormatCondition.Between;
            betweenCondition.Value1        = 100000;
            betweenCondition.Value2        = 200000;
            betweenCondition.StyleSettings =
                new AppearanceSettings(FormatConditionAppearanceType.FontYellow);
            betweenRule.Condition = betweenCondition;

            GridItemFormatRule   greaterThanRule      = new GridItemFormatRule(extendedPrice);
            FormatConditionValue greaterThanCondition = new FormatConditionValue();

            greaterThanCondition.Condition     = DashboardFormatCondition.GreaterOrEqual;
            greaterThanCondition.Value1        = 200000;
            greaterThanCondition.StyleSettings =
                new AppearanceSettings(FormatConditionAppearanceType.FontGreen);
            greaterThanRule.Condition = greaterThanCondition;

            grid.FormatRules.AddRange(lessThanRule, betweenRule, greaterThanRule);
        }
 private static object GetMesureValue(MultiDimensionalData mData, AxisPoint point, GridMeasureColumn mCol)
 {
     return(mData.GetSlice(point).GetValue(mData.GetMeasures().OfType <MeasureDescriptor>().First(d => d.DataMember == mCol.Measure.DataMember)).Value);
 }