mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-27 19:50:10 +00:00
增加Bar的realtimeSort支持实时排序
This commit is contained in:
@@ -955,6 +955,10 @@ namespace XCharts.Runtime
|
||||
|
||||
public static void UpdateSerieRuntimeFilterData(Serie serie, bool filterInvisible = true)
|
||||
{
|
||||
var realtimeData = true;
|
||||
var dataChangeDuration = serie.animation.GetChangeDuration();
|
||||
var dataAddDuration = serie.animation.GetAdditionDuration();
|
||||
var unscaledTime = serie.animation.unscaledTime;
|
||||
serie.context.sortedData.Clear();
|
||||
foreach (var serieData in serie.data)
|
||||
{
|
||||
@@ -966,8 +970,12 @@ namespace XCharts.Runtime
|
||||
case SerieDataSortType.Ascending:
|
||||
serie.context.sortedData.Sort(delegate (SerieData data1, SerieData data2)
|
||||
{
|
||||
var value1 = data1.GetData(1);
|
||||
var value2 = data2.GetData(1);
|
||||
var value1 = realtimeData ?
|
||||
data1.GetCurrData(1, dataAddDuration, dataChangeDuration, false, 0, 0, unscaledTime) :
|
||||
data1.GetData(1);
|
||||
var value2 = realtimeData ?
|
||||
data2.GetCurrData(1, dataAddDuration, dataChangeDuration, false, 0, 0, unscaledTime) :
|
||||
data2.GetData(1);
|
||||
if (value1 == value2) return 0;
|
||||
else if (value1 > value2) return 1;
|
||||
else return -1;
|
||||
@@ -976,8 +984,12 @@ namespace XCharts.Runtime
|
||||
case SerieDataSortType.Descending:
|
||||
serie.context.sortedData.Sort(delegate (SerieData data1, SerieData data2)
|
||||
{
|
||||
var value1 = data1.GetData(1);
|
||||
var value2 = data2.GetData(1);
|
||||
var value1 = realtimeData ?
|
||||
data1.GetCurrData(1, dataAddDuration, dataChangeDuration, false, 0, 0, unscaledTime) :
|
||||
data1.GetData(1);
|
||||
var value2 = realtimeData ?
|
||||
data2.GetCurrData(1, dataAddDuration, dataChangeDuration, false, 0, 0, unscaledTime) :
|
||||
data2.GetData(1);
|
||||
if (value1 == value2) return 0;
|
||||
else if (value1 > value2) return -1;
|
||||
else return 1;
|
||||
@@ -986,6 +998,10 @@ namespace XCharts.Runtime
|
||||
case SerieDataSortType.None:
|
||||
break;
|
||||
}
|
||||
for (int i = 0; i < serie.context.sortedData.Count; i++)
|
||||
{
|
||||
serie.context.sortedData[i].sortIndex = i;
|
||||
}
|
||||
}
|
||||
|
||||
public static T CloneSerie<T>(Serie serie) where T : Serie
|
||||
|
||||
Reference in New Issue
Block a user