说我有这样的DataTable:
D的状态是DataViewRowState.Deleted,并且假设O是未被触摸的行
index: 0 | state: O
index: 1 | state: O
index: 2 | state: O
index: 3 | state: D
index: 4 | state: D
假设我删除索引2处的行(我将行状态设置为已删除)。有没有办法知道索引1处的行是否是集合中最后一个未删除的行而没有“向前走”并检查索引1之后每个记录的行状态?
答案 0 :(得分:2)
您可以使用LINQ:
int deletedIndex = 2;
DataRow firstNonDeletedBeforeDeletedIndex = table.AsEnumerable()
.Where((row, index) => index < deletedIndex && row.RowState != DataRowState.Deleted)
.LastOrDefault(); // null if none found