private List <double> GetSparkLineItemSource(Syncfusion.XlsIO.ISparklineGroup spGroup, GridRenderStyleInfo cellInfo) { List <double> itemSource = new List <double>(); // get the sparklines count. for (int line = 0; line < spGroup.Count; line++) { // ISparklineGroup spGroup = spGroups[i]; ISparklines spLines = spGroup[line]; for (int j = 0; j < spLines.Count; j++) { ISparkline spLine = spGroup[line][j]; IRange dataRange = spLine.DataRange; for (int rowInd = dataRange.Row; rowInd <= dataRange.LastRow; rowInd++) { if (spLine.ReferenceRange.Row == cellInfo.RowIndex) { for (int colInd = dataRange.Column; colInd <= dataRange.LastColumn; colInd++) { double cellValue; if (double.TryParse(cellInfo.GridModel[rowInd, colInd].FormattedText, out cellValue)) { itemSource.Add(cellValue); } } } } } } return(itemSource); }
private SparkLine GetSparkLine(GridRenderStyleInfo cellInfo) { Syncfusion.XlsIO.ISparklineGroup spGroup = cellInfo.CellValue as Syncfusion.XlsIO.ISparklineGroup; SparkLine sparkLine = new SparkLine(); if (spGroup != null) { sparkLine.DataMemberPath = ""; switch (spGroup.SparklineType) { case Syncfusion.XlsIO.SparklineType.Column: sparkLine.SparkLineType = SparkLineTypes.Column; break; case Syncfusion.XlsIO.SparklineType.Line: sparkLine.SparkLineType = SparkLineTypes.Line; break; case Syncfusion.XlsIO.SparklineType.ColumnStacked100: sparkLine.SparkLineType = SparkLineTypes.WinLoss; break; default: break; } sparkLine.ItemsSource = GetSparkLineItemSource(spGroup, cellInfo).AsEnumerable <double>(); // Hightlinght color. sparkLine.FirstPointHighlightBrush = GetSparkLineBrush(spGroup.FirstPointColor); sparkLine.HighPointHighlightBrush = GetSparkLineBrush(spGroup.HighPointColor); sparkLine.LowPointHighlightBrush = GetSparkLineBrush(spGroup.LowPointColor); sparkLine.LastPointHighlightBrush = GetSparkLineBrush(spGroup.LastPointColor); sparkLine.NegativePointsHighlightBrush = GetSparkLineBrush(spGroup.NegativePointColor); sparkLine.IsLastPointHighlighted = spGroup.ShowLastPoint; sparkLine.IsFirstPointHighlighted = spGroup.ShowFirstPoint; sparkLine.IsLowPointHighlighted = spGroup.ShowLowPoint; sparkLine.IsHighPointHighlighted = spGroup.ShowHighPoint; sparkLine.IsNegativePointsHighlighted = spGroup.ShowNegativePoint; sparkLine.IsFirstPointHighlighted = true; sparkLine.IsLastPointHighlighted = true; } return(sparkLine); }