コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }