using System.Text; using TrendChartSDK.Entity.Base; using TrendChartSDK.Entity.TrendChart; using TrendChartSDK.Entity.TrendChartData; using TrendChartSDK.Interface; namespace TrendChartSDK.TrendChartManager { /// /// 多值项(多值多列项) /// /// public class MultiValueItem : ChartItemRepository, IChartItem where TEntity : LotteryOpenCode { private new int[] _itemIndex; /// /// 初始化 /// /// /// public override void Init(ChartCssConfigInfo cssConfig, TrendChartItemInfo itemConfig) { DefaultInit(cssConfig, itemConfig); } /// /// 初始化遗漏 /// /// /// public override void MissDataInit(TrendChartData trendChartCofig, int i) { DefaultMissDataInit(trendChartCofig, i); } /// /// 获取遗漏数据 /// /// /// public override string GetMissData(MissDataType missDataType) { return GetDefaultMissData(missDataType); } /// /// 设置项值 /// /// /// /// public override bool SetItemValue(TEntity entity, TEntity lastentity) { _itemIndex = new int[this._itemConfig.ItemCount]; return SetMultiValueAndMiss(entity, ref _itemIndex, ref this._localMiss); } /// /// 设置项值 /// /// /// public override bool SetItemValue(TEntity entity) { _itemIndex = new int[this._itemConfig.ItemCount]; return SetMultiValueAndMiss(entity, ref _itemIndex, ref this._localMiss); } /// /// 去格式化字符串 /// /// /// /// public override string GetFomartString(string fomart, ChartCssConfigInfo cssConfig = null) { var html = GetFomartHtml(fomart, cssConfig); var sp = new StringBuilder((html.Item1.Length + 40) * this._itemConfig.ItemCount); for (int i = 0; i < this._itemConfig.ItemCount; i++) { sp.Append(0 < this._itemIndex[i] ? GetHtml(true, html.Item1, GetlgroupAndColor(true, html.Item4), this._itemConfig.ItemString[i], i) : GetHtml(false, html.Item1, GetlgroupAndColor(false, html.Item4), _localMiss[i].ToString(), i)); } return sp.ToString(); } } }