DataGrid
:にバインドされている がありList
ます_bhaList
。
ここで、ユーザーがグリッド上のアイテムを選択して上に移動できるようにするメソッドを作成しました。上に移動すると、No.
列が更新されて現在の位置が表示されます。ただし、この特定のケースでは、3 つの項目があり、 を選択No. 2
して上に移動すると、 で場所が切り替わりNo. 1
、それらの番号は更新されますがNo. 3
、4 に変更されます。このプロセスを繰り返すと、新しい項目は にNo. 4
変更されます。 5.
これが私が試みたコードです:
var oldIndex = grdBha.SelectedIndex;
var newIndex = oldIndex - 1;
var bha = _bhaList[oldIndex];
_bhaList.RemoveAt(oldIndex);
bha.Number = oldIndex;
_bhaList.Insert(newIndex, bha);
for (var i = newIndex + 1; i <= _bhaList.Count; i++)
{
if (i != _bhaList.Count)
{
_bhaList[i].Number += 1;
}
}
for
ループでさまざまなバリエーションを試しましたが、成功しませんでした。
これは本当に単純なことになる気がしますが、私の心はそれを見ていません.