【问题标题】:DataTable check if row is last in collectionDataTable检查行是否是集合中的最后一个
【发布时间】:2015-05-11 23:03:40
【问题描述】:

假设我有一个像这样的 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 之后每条记录的行状态?

【问题讨论】:

  • “向前走”的意思是“向后走”,因为你想找到第一个未删除的被删除之前?
  • 子类 datagridview 并存储此信息?

标签: c# datatable


【解决方案1】:

您可以使用 LINQ:

int deletedIndex = 2;
DataRow firstNonDeletedBeforeDeletedIndex = table.AsEnumerable()
    .Where((row, index) => index < deletedIndex && row.RowState != DataRowState.Deleted)
    .LastOrDefault(); // null if none found

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2012-10-25
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    相关资源
    最近更新 更多