필자는 데이터를 Excel에서 빌드 한 Datable을 가지고 있지만 때로는 Excel이 모든 필드가 null 인 행을 반환합니다.linq을 사용하여 DataTable에서 null 행을 필터링하는 방법은 무엇입니까?
저는 이것을 컬럼 이름에 관계없이 일반적으로 필터링하고 싶습니다.
저는 Linq가이 작업을 훌륭하게 수행 할 것이라고 생각하지만 이런 일이 발생하는 데 어려움이 있습니다.
var nonemptyrows = from r in table.AsEnumerable()
from f in r.ItemArray
where f != null
select r;
을하지만 그것은 아주가 아니다 :
지금까지이 내가 가진 것입니다. 아무도 내가 누락 된 부분을 보거나 내가 잘못된 길을 걷고있는 것을 본 적이 있습니까?
미리 감사드립니다. 쿼리 이해 구문을 사용하여
table.AsEnumerable()
.Where(r => r.ItemArray.Any(v => v != null && v != DBNull.Value))
을 또는 :
에만 단독 1 열은 열 번호 2와 같은 null이되지 않도록 널 수 없습니다되지 않습니다. 이제 내 코드는'IEnumerable refIds = (from dataTable.AsEnumerable() select dataRow.Field (dataColumn.ColumnName));'입니다. refIds.ToList()를 사용할 때 잘못된 캐스트 예외가 발생합니다. –
Saravanan
편집 : IEnumerable은 String 유형이고 Null 일 수 없으므로 고유 ID를 가져 오지 않을 수 있습니다. – Saravanan