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); } }
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); }
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); } }
private static object GetDimenstionValue(MultiDimensionalData mData, IList <string> axis, AxisPoint point, GridDimensionColumn dCol) { return(point.GetDimensionValue(mData.GetDimensions(axis[0]).OfType <DimensionDescriptor>().First(d => d.DataMember == dCol.Dimension.DataMember)).Value); }