48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Test_ChangeOrder
|
|
{
|
|
internal class MoveUp : MoveDown
|
|
{
|
|
protected override List<string> NewValues(List<string> valuesBefore, string selectedValue, List<string> valuesAfter)
|
|
{
|
|
List<string> newValue = new List<string>();
|
|
newValue.Clear();
|
|
|
|
for (int i = 0; i < valuesBefore.Count - 1; i++)
|
|
{
|
|
newValue.Add(valuesBefore[i]);
|
|
}
|
|
|
|
newValue.Add(selectedValue);
|
|
newValue.Add(valuesBefore[valuesBefore.Count - 1]);
|
|
newValue.AddRange(valuesAfter);
|
|
|
|
return newValue;
|
|
}
|
|
|
|
protected override bool ValidSelection(List<string> values, int selectedRow)
|
|
{
|
|
//Die ausgewählte Position muss min. 0 sein, weil sie sonst nicht nach vorne geschoben werden kann und
|
|
//die Position darf nicht größer als die max. Anzahl der Elemnte minus 1 sein
|
|
if (selectedRow > 0 && selectedRow < values.Count)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
protected override void SetSelectedRow(int selectedRow)
|
|
{
|
|
SelectedRow = selectedRow - 1;
|
|
}
|
|
}
|
|
}
|