mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-17 14:00:12 +00:00
增加Custom类型的Serie的tooltip自定义
This commit is contained in:
@@ -189,13 +189,14 @@ namespace XCharts
|
||||
}
|
||||
}
|
||||
|
||||
private static void InitCoordinateTooltip(ref StringBuilder sb, Tooltip tooltip, Serie serie, int index,
|
||||
public static void InitCoordinateTooltip(ref StringBuilder sb, Tooltip tooltip, Serie serie, int index,
|
||||
ChartTheme theme, bool isCartesian, DataZoom dataZoom = null)
|
||||
{
|
||||
string key = serie.name;
|
||||
float xValue, yValue;
|
||||
serie.GetXYData(index, dataZoom, out xValue, out yValue);
|
||||
var isIngore = serie.IsIgnorePoint(index);
|
||||
if(isIngore) return;
|
||||
var serieData = serie.GetSerieData(index, dataZoom);
|
||||
var numericFormatter = GetItemNumericFormatter(tooltip, serie, serieData);
|
||||
if (isCartesian)
|
||||
@@ -242,7 +243,7 @@ namespace XCharts
|
||||
}
|
||||
|
||||
private static void InitDefaultContent(ref StringBuilder sb, Tooltip tooltip, Serie serie, int index,
|
||||
ChartTheme theme = null, DataZoom dataZoom = null, bool isCartesian = false,
|
||||
BaseChart chart, DataZoom dataZoom = null, bool isCartesian = false,
|
||||
Radar radar = null)
|
||||
{
|
||||
switch (serie.type)
|
||||
@@ -250,28 +251,31 @@ namespace XCharts
|
||||
case SerieType.Line:
|
||||
case SerieType.Bar:
|
||||
case SerieType.Candlestick:
|
||||
InitCoordinateTooltip(ref sb, tooltip, serie, index, theme, isCartesian, dataZoom);
|
||||
InitCoordinateTooltip(ref sb, tooltip, serie, index, chart.theme, isCartesian, dataZoom);
|
||||
break;
|
||||
case SerieType.Scatter:
|
||||
case SerieType.EffectScatter:
|
||||
InitScatterTooltip(ref sb, tooltip, serie, index, theme);
|
||||
InitScatterTooltip(ref sb, tooltip, serie, index, chart.theme);
|
||||
break;
|
||||
case SerieType.Radar:
|
||||
InitRadarTooltip(ref sb, tooltip, serie, radar, theme);
|
||||
InitRadarTooltip(ref sb, tooltip, serie, radar, chart.theme);
|
||||
break;
|
||||
case SerieType.Pie:
|
||||
InitPieTooltip(ref sb, tooltip, serie, index, theme);
|
||||
InitPieTooltip(ref sb, tooltip, serie, index, chart.theme);
|
||||
break;
|
||||
case SerieType.Ring:
|
||||
InitRingTooltip(ref sb, tooltip, serie, index, theme);
|
||||
InitRingTooltip(ref sb, tooltip, serie, index, chart.theme);
|
||||
break;
|
||||
case SerieType.Heatmap:
|
||||
break;
|
||||
case SerieType.Gauge:
|
||||
InitGaugeTooltip(ref sb, tooltip, serie, index, theme);
|
||||
InitGaugeTooltip(ref sb, tooltip, serie, index, chart.theme);
|
||||
break;
|
||||
case SerieType.Gantt:
|
||||
InitGanttTooltip(ref sb, tooltip, serie, index, theme);
|
||||
InitGanttTooltip(ref sb, tooltip, serie, index, chart.theme);
|
||||
break;
|
||||
case SerieType.Custom:
|
||||
chart.InitCustomSerieTooltip(ref sb, serie, index);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -401,7 +405,7 @@ namespace XCharts
|
||||
if (string.IsNullOrEmpty(itemFormatter))
|
||||
{
|
||||
if (!first) sb.Append(FormatterHelper.PH_NN);
|
||||
InitDefaultContent(ref sb, tooltip, serie, dataIndex, chart.theme, dataZoom, isCartesian, radar);
|
||||
InitDefaultContent(ref sb, tooltip, serie, dataIndex, chart, dataZoom, isCartesian, radar);
|
||||
first = false;
|
||||
continue;
|
||||
}
|
||||
@@ -449,7 +453,7 @@ namespace XCharts
|
||||
if (string.IsNullOrEmpty(itemFormatter) || serie.type == SerieType.Radar)
|
||||
{
|
||||
if (!first) sb.Append(FormatterHelper.PH_NN);
|
||||
InitDefaultContent(ref sb, tooltip, serie, dataIndex, chart.theme, dataZoom, isCartesian, radar);
|
||||
InitDefaultContent(ref sb, tooltip, serie, dataIndex, chart, dataZoom, isCartesian, radar);
|
||||
first = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user