SeriesComparer.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using FastReport.DataVisualization.Charting;
  5. namespace FastReport.MSChart
  6. {
  7. internal class SeriesInfo
  8. {
  9. public MSChartSeries Series;
  10. public Series ChartSeries;
  11. public SeriesInfo(MSChartSeries series)
  12. {
  13. Series = series;
  14. ChartSeries = series.SeriesSettings;
  15. }
  16. }
  17. internal class SeriesComparer : IComparer<SeriesInfo>
  18. {
  19. public SortOrder FSortOrder;
  20. public int Compare(SeriesInfo x, SeriesInfo y)
  21. {
  22. int result = 0;
  23. IComparable i1 = x.ChartSeries.Name;
  24. IComparable i2 = y.ChartSeries.Name;
  25. if (i1 != null)
  26. result = i1.CompareTo(i2);
  27. else if (i2 != null)
  28. result = -1;
  29. if (FSortOrder == SortOrder.Descending)
  30. result = -result;
  31. return result;
  32. }
  33. public SeriesComparer(SortOrder sortOrder)
  34. {
  35. FSortOrder = sortOrder;
  36. }
  37. }
  38. }