我有 a DataGrid
,它绑定到 a List
: _bhaList
。
现在,我编写了一个允许用户选择网格上的项目并将其向上移动的方法。当它向上移动时,该No.
列会更新以显示它的当前位置。但是,在这种特殊情况下,我有 3 个项目,如果我选择No. 2
并将其向上移动,它No. 1
确实No. 3
会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
循环中尝试了不同的变体,但没有成功。
我有一种感觉,这将是一件非常简单的事情,但我的大脑并没有看到它。