특정 문자열이 포함된 컬럼을 지우고 싶습니다

Join Data Table 액티비티를 사용하여 여러 개의 테이블을 합쳤는데 해당 과정에서 추가된 인덱스 컬럼을 다시 지워주고 싶습니다. 컬럼명에 "ID"가 포함된 열을 모두 지우려면 어떻게 해야하나요?

합쳐진 DataTable을 DataTable.Columns 로 For 문을 반복하시면 System.Data.DataColumn 형태로 하나씩 나올겁니다.

해당 Item 을 item.ToString 하시면 컬럼명이 나오구요

그러면 조건문을 사용해서 ID가 컬럼명에 포함되어있을때 따로 Collection이나 List에 추가해놓으시고 나중에 해당 Collection 혹은 List를 다시 반복시키면서 Remove Data Column 액티비티를 사용하시면 될 듯합니다.

image

인덱스 컬럼이 생기는 갯수가 고정적이라면 Filter Datatable에서 제거할 컬럼명 직접 넣는게 편하실 수도 있습니다.

인덱스 컬럼 갯수가 가변적이라면 foreach와 remove Datacolumn 액티비티를 조합해서 삭제해야 합니다. Datacolumn을 삭제할 때에는 별도의 List 변수 등에 담아서 remove datacolumn 액티비티를 사용해야 에러가 나지않습니다.

아래 xaml 참고해보세요.
가시성을 위해 이름이 정확히 "ID"인 컬럼은 지우지 않고 남기도록 했습니다. 컬럼명에 "ID"가 들어가면 전부 지우고 싶다면 IF문 내 조건식만 알맞게 수정하면 됩니다.

데이터컬럼삭제.xaml (13.2 KB)

For문으로 ID가 포함된 컬럼의 리스트를 만들고 그 리스트를 For문으로 다시 돌리면서 컬럼을 삭제하는거군요! 설명 감사합니다~!!

1 Like

예제 코드 감사합니다! 큰 도움이 됐습니다^^

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.