딱 순서만 바꾸면 해결될 수 있는 상황에 있다...

구글에 "uipath move column" 을 검색했는데, 정확한 용어는 "reorder column" 이었나보다..ㅎㅎ

 

* 참고 URL

- https://excelcult.com/2019/06/07/how-to-reorder-columns-in-datatable-in-uipath/

 

How To Reorder Columns In DataTable - In UiPath - ExcelCult

Sometimes we might be asked to change the order of the columns in the excel…

excelcult.com

- https://forum.uipath.com/t/how-to-reorder-columns-in-datatable/52945/5

 

How to reorder columns in datatable

What parameters do I need to set?

forum.uipath.com

- https://forum.uipath.com/t/how-to-change-the-datatable-column-sequence/2109

 

How to change the datatable column sequence

I read excel by using read excel and stored data in datatable, now i want to change the datatable column sequence. Please give solution.

forum.uipath.com

 

**** 정리

1. 이 방법은 컬럼 이름만 바꾸는 경우 같다... DT 내의 정보 이동은 불가한 것 같아 보인다...

Assign Value as DT.Columns(0).ColumnName = "New Column Name"
Assign Value as DT.Columns("바꾸기 이전 컬럼 네임").ColumnName = "New Column Name"

 

2. Invoke Method 사용.

- 이걸 사용하려면 컬럼네임을 알고 있어야한다.

TargetType null
TargetObject (메소드를 적용할 타겟 지정) DT.Columns("컬럼이름")
MethodName (사용할 메소드 이름)
SetOrdinal

Direction (데이터 방향) Type (value에 대한 타입) Value
In Int32 이동할 컬럼 값

 

invoke method 사용 예시)

1. 2번째 컬럼을 4번째로 옮기면?

첫번째 컬럼 두번째 컬럼 세번째 컬럼 네번째 컬럼 다섯번째 컬럼
0 1 2 3 4
번호 제목 담당부서 첨부 게시일
번호 담당부서 첨부 제목 게시일

 

2. 4번쩨 컬럼을 2번째로 옮기면?

첫번째 컬럼 두번째 컬럼 세번째 컬럼 네번째 컬럼 다섯번째 컬럼
0 1 2 3 4
번호 제목 담당부서 첨부 게시일
번호 첨부 제목 담당부서 게시일

 

 

보니까 컬럼의 이동이 맞다.. 서로 자리만 바꿔주는걸 찾아야하는데ㅠ

컬럼이 이동하면 한칸씩 뒤로 밀린다.

컬럼 하나가 이동하면 다른 컬럼이 뒤로나 앞으로 밀리는게 아니라, 서로의 자리를 바꿔주는 방법을 찾아보자..!

 

** SetOrdinal 의 정보 (출처 닷넷)

https://docs.microsoft.com/en-us/dotnet/api/system.data.datacolumn.setordinal?view=netframework-4.8

 

DataColumn.SetOrdinal(Int32) Method (System.Data)

 

Changes the ordinal or position of the to the specified ordinal o

docs.microsoft.com

 

+ Recent posts