Programing

C #의 DataTable에서 열 제거

lottogame 2020. 8. 18. 08:07
반응형

C #의 DataTable에서 열 제거


함수 호출에서 다시 전달되는 DataTable을 얻는 DataSet이 있습니다. 15-20 개의 열이 있지만 10 개의 데이터 열만 필요합니다.

원하지 않는 열을 제거하는 방법이 있습니까? DataTable을 원하는 열만 정의 된 다른 열로 복사하거나 컬렉션을 반복하고 필요한 열을 사용하는 것이 더 낫습니다.

고정 길이 데이터 파일에 값을 써야합니다.


대역폭과 메모리를 줄이기 위해 선택한 열을 제한하는 것 외에도 :

DataTable t;
t.Columns.Remove("columnName");
t.Columns.RemoveAt(columnIndex);

원하는 열 뒤에있는 모든 열을 제거하려면이 작은 기능이 작동합니다. 열 수가 10 개 이하가 될 때까지 인덱스 10에서 제거됩니다 (열이 0 기반임을 기억).

        DataTable dt;
        int desiredSize = 10;

        while (dt.Columns.Count > desiredSize)
        {
            dt.Columns.RemoveAt(desiredSize);
        }

질문은 이미 답변되었으며 정확합니다. 질문에 그 사람이 여러 질문을 제거하고 싶다고 나와 있으므로 동일한 문제가 발생했을 때 업데이트를 추가하고 싶습니다.

string[] ColumnsToBeDeleted = { "col1", "col2", "col3", "col4" };
foreach (string ColName in ColumnsToBeDeleted)
{
    if (dt.Columns.Contains(ColName))
        dt.Columns.Remove(ColName);
}

참고 URL : https://stackoverflow.com/questions/75123/remove-columns-from-datatable-in-c-sharp

반응형