이걸 글로 풀어서 설명하려니 어렵습니다.
C#에서 데이터베이스를 조회한 후에 DataTable 이나 DataSet 으로 데이터집합을 갖고 있을 때,
리스트뷰나 특정 이유로 문자열 배열로 만들어야 할 경우에 사용할 수 있는 함수입니다.
위와 같은 테이블이 있을 경우 이를 조회해서 각 라인 별로 문자열 배열을 만들어
ListView에 한번에 집어 넣을 수 있는 방법인데, 이해가 잘 되시려나 모르겠네요.
2016/10/21 - [IT/프로그래밍] - [ C# ] MSSQL 접속과 쿼리 명령어 수행 소스 샘플
2016/10/31 - [IT/프로그래밍] - [ C# ] DataSet 테이블 컬럼 그대로 ListView(리스트뷰)에 동적 컬럼 생성 방법
Database 접속은 위 링크를 참조 하시고,
어떻게 DataRow를 string 배열로 만드는지에 대한 소스만 설명하겠습니다.
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { DataRow dr = ds.Tables[0].Rows[i]; string[] items = dr.ItemArray.Select(o => o == null ? string.Empty : o.ToString()).ToArray(); ListViewItem lvi = new ListViewItem(items); lstView1.Items.Add(lvi); }
조회된 DataSet의 첫번째 테이블의 행 수만큼 루프를 돌아서
각 테이블의 행을 DataRow 형식으로 값을 참조합니다.
그리고 DataRow의 ItemArray 객체의 Select 함수로 각 필드의 값을 가져옵니다.
그럼 각 컬럼의 값들이 문자열 배열로 리턴이 되고, 해당 리턴된 문자열 배열을 이용하여
리스트뷰에 등록할 ListViewItem 객체를 만들어 줍니다.
그리고 ListView에 Add해주면 됩니다.
댓글