2. 해당 위치의 행(row) 인덱스 번호 (Int)
[탐색 대상 DataTable] |
아래는 위의 DataTable을 대상으로 "Contents"라는 컬럼명과 1번째 행 위치의 "Banana"값을 찾는 예제입니다.
[코드]
int rowIdx = 1; // "테이블명".DefaultView.ToTable(false, "컬럼명").Rows["행번호"] var SelectedRow = datatable.DefaultView.ToTable(false, "Contents").Rows[rowIdx]; var Result = SelectedRow[0];
"datatable" 객체에서 "Contents" 열의 rowIdx 번째 행의 값을 가져옵니다.
정확히는 DataRow 형태로 반환되는데,
반환된 "SelectedRow" 객체의 첫번째 값을 받으면 얻고자하는 위치의 값을 얻을 수 있습니다.
[반환값 타입, 값 확인] |
문법은
"테이블명".DefaultView.ToTable(false, "컬럼명").Rows["행번호"]
입니다.
"테이블명".DefaultView.ToTable(false, "컬럼명") 까지만 사용할 경우 해당 컬럼을 가져옵니다.
이 때, ToTable() 안의 bool 인자 값은 해당 컬럼의 고유값 여부(Distinct)를 뜻합니다.
아래는 전체 코드입니다.
DataTable datatable = new DataTable(); datatable.Columns.Add(new DataColumn("ID")); datatable.Columns.Add(new DataColumn("Contents")); List<string> ContentsList = new List<string>(){ "Apple", "Banana", "Melon" }; // 테이블 데이터 입력 for(int i=0; i<ContentsList.Count; i++) { DataRow dr = datatable.NewRow(); dr["ID"] = (i + 1); dr["Contents"] = ContentsList[i]; datatable.Rows.Add(dr); } int rowIdx = 1; // "테이블명".DefaultView.ToTable(false, "컬럼명").Rows["행번호"] var SelectedRow = datatable.DefaultView.ToTable(false, "Contents").Rows[rowIdx]; var Result = SelectedRow[0];
0 댓글