我有一个DataTable
,在这里我需要删除第一列中“ EOF
”数据之后的数据行。例如,
CHECK_SUM | INPUT_CODE | TOKEN | SPEED
201865 | 56 | 1A | 5
201866 | 48 | 1D | 5
201867 | 87 | 2R | 10
201868 | 45 | 2G | 8
EOF
201869 | 99 | 0 | 0
201870 | 100 | 0 | 0
在此DataTable
中,在值“ EOF”之后,我需要删除所有行。我怎样才能做到这一点 ?
答案 0 :(得分:1)
尝试以下操作:
int? EOF = dt.AsEnumerable()
.Select((x, i) => new { row = x, index = i })
.Where(x => x.row.Field<string>("CHECK_SUM") == "EOF")
.Select(x => x.index)
.FirstOrDefault();
if(EOF != null)
{
DataTable dt2 = dt.AsEnumerable()
.Where((x, i) => i < EOF)
.CopyToDataTable();
}