SingleValueItem.cs 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using System.Text;
  2. using TrendChartSDK.Entity.Base;
  3. using TrendChartSDK.Entity.TrendChart;
  4. using TrendChartSDK.Entity.TrendChartData;
  5. using TrendChartSDK.Interface;
  6. namespace TrendChartSDK.TrendChartManager
  7. {
  8. /// <summary>
  9. /// 单值项(单值多列项)
  10. /// </summary>
  11. /// <typeparam name="TEntity"></typeparam>
  12. public class SingleValueItem<TEntity> : ChartItemRepository<TEntity>, IChartItem<TEntity> where TEntity : LotteryOpenCode
  13. {
  14. /// <summary>
  15. /// 初始化
  16. /// </summary>
  17. /// <param name="cssConfig"></param>
  18. /// <param name="itemConfig"></param>
  19. public override void Init(ChartCssConfigInfo cssConfig, TrendChartItemInfo itemConfig)
  20. {
  21. DefaultInit(cssConfig, itemConfig);
  22. }
  23. /// <summary>
  24. /// 初始化遗漏
  25. /// </summary>
  26. /// <param name="trendChartData"></param>
  27. /// <param name="i"></param>
  28. public override void MissDataInit(TrendChartData trendChartData, int i)
  29. {
  30. DefaultMissDataInit(trendChartData, i);
  31. }
  32. /// <summary>
  33. /// 获取遗漏数据
  34. /// </summary>
  35. /// <param name="missDataType"></param>
  36. /// <returns></returns>
  37. public override string GetMissData(MissDataType missDataType)
  38. {
  39. return GetDefaultMissData(missDataType);
  40. }
  41. /// <summary>
  42. /// 设置项值
  43. /// </summary>
  44. /// <param name="entity"></param>
  45. /// <param name="nextentity"></param>
  46. /// <returns></returns>
  47. public override bool SetItemValue(TEntity entity,TEntity nextentity)
  48. {
  49. return SetSingleValueAndMiss(entity, nextentity);
  50. }
  51. /// <summary>
  52. /// 设置项值
  53. /// </summary>
  54. /// <param name="entity"></param>
  55. /// <returns></returns>
  56. public override bool SetItemValue(TEntity entity)
  57. {
  58. return SetSingleValueAndMiss(entity,null);
  59. }
  60. /// <summary>
  61. /// 去格式化字符串
  62. /// </summary>
  63. /// <param name="fomart"></param>
  64. /// <param name="cssConfig"></param>
  65. /// <returns></returns>
  66. public override string GetFomartString(string fomart, ChartCssConfigInfo cssConfig = null)
  67. {
  68. var html = GetFomartHtml(fomart, cssConfig);
  69. //var attr = "";
  70. //if (this._itemConfig.DrawLine)
  71. //{
  72. // attr = " lgroup=\"" + this._itemConfig.Id + "\" lcolor=\"" + html.Item4 + "\"";
  73. //}
  74. var sp = new StringBuilder((html.Item1.Length + 40) * this._itemConfig.ItemCount);
  75. for (int i = 0; i < this._itemConfig.ItemCount; i++)
  76. {
  77. if (_itemValue == "")
  78. {
  79. sp.Append(GetHtml(false, html.Item1, GetlgroupAndColor(false, html.Item4), _localMiss[i].ToString(), i));
  80. }
  81. else
  82. {
  83. sp.Append(this._itemIndex == i ? GetHtml(true, html.Item1, GetlgroupAndColor(true, html.Item4), _itemValue, i) : GetHtml(false, html.Item1, GetlgroupAndColor(false, html.Item4), _localMiss[i].ToString(), i));
  84. }
  85. }
  86. return sp.ToString();
  87. }
  88. }
  89. }