增加BarrealtimeSort支持实时排序

This commit is contained in:
monitor1394
2025-03-10 08:40:22 +08:00
parent e4923ea598
commit a1ba6b095d
3 changed files with 8 additions and 6 deletions

View File

@@ -150,7 +150,7 @@ namespace XCharts
axis.context.minValue = 0; axis.context.minValue = 0;
axis.context.maxValue = axis.data.Count > 0 ? axis.data.Count - 1 : SeriesHelper.GetMaxSerieDataCount(chart.series) - 1; axis.context.maxValue = axis.data.Count > 0 ? axis.data.Count - 1 : SeriesHelper.GetMaxSerieDataCount(chart.series) - 1;
axis.context.minMaxRange = axis.context.maxValue; axis.context.minMaxRange = axis.context.maxValue;
if (chart.HasRealtimeSortSerie()) if (chart.HasRealtimeSortSerie(axis.gridIndex))
{ {
UpdateAxisLabelText(axis); UpdateAxisLabelText(axis);
} }
@@ -478,7 +478,7 @@ namespace XCharts
if (axis.IsCategory() && axis.boundaryGap) if (axis.IsCategory() && axis.boundaryGap)
splitNumber -= 1; splitNumber -= 1;
axis.context.aligment = defaultAlignment; axis.context.aligment = defaultAlignment;
var sortSerie = chart.GetRealtimeSortSerie(); var sortSerie = chart.GetRealtimeSortSerie(axis.gridIndex);
if (sortSerie != null) if (sortSerie != null)
{ {
SerieHelper.UpdateSerieRuntimeFilterData(sortSerie); SerieHelper.UpdateSerieRuntimeFilterData(sortSerie);
@@ -598,7 +598,7 @@ namespace XCharts
if (axis.IsCategory() && axis.boundaryGap) if (axis.IsCategory() && axis.boundaryGap)
splitNumber -= 1; splitNumber -= 1;
axis.context.aligment = defaultAlignment; axis.context.aligment = defaultAlignment;
var sortSerie = chart.GetRealtimeSortSerie(); var sortSerie = chart.GetRealtimeSortSerie(axis.gridIndex);
if (sortSerie != null) if (sortSerie != null)
{ {
SerieHelper.UpdateSerieRuntimeFilterData(sortSerie); SerieHelper.UpdateSerieRuntimeFilterData(sortSerie);

View File

@@ -119,7 +119,7 @@ namespace XCharts.Runtime
DataZoom dataZoom, bool forcePercent, int sortIndex = -1) DataZoom dataZoom, bool forcePercent, int sortIndex = -1)
{ {
int split = GetSplitNumber(axis, coordinateWidth, dataZoom); int split = GetSplitNumber(axis, coordinateWidth, dataZoom);
if(sortIndex == -1) sortIndex = index; if (sortIndex == -1) sortIndex = index;
if (axis.type == Axis.AxisType.Value) if (axis.type == Axis.AxisType.Value)
{ {
if (minValue == 0 && maxValue == 0) if (minValue == 0 && maxValue == 0)

View File

@@ -101,20 +101,22 @@ namespace XCharts.Runtime
return false; return false;
} }
public bool HasRealtimeSortSerie() public bool HasRealtimeSortSerie(int gridIndex)
{ {
foreach (var serie in m_Series) foreach (var serie in m_Series)
{ {
if (!CheckSerieGridIndex(serie, gridIndex)) continue;
if (serie.useSortData) if (serie.useSortData)
return true; return true;
} }
return false; return false;
} }
public Serie GetRealtimeSortSerie() public Serie GetRealtimeSortSerie(int gridIndex)
{ {
foreach (var serie in m_Series) foreach (var serie in m_Series)
{ {
if (!CheckSerieGridIndex(serie, gridIndex)) continue;
if (serie.useSortData) if (serie.useSortData)
return serie; return serie;
} }