[C#] ListView 데이터 추가시 첫 열에 추가하는 다양한 방법 |
환경 : Visual Studio 2012 |
ListView 에 행을 추가할 때 ListViewItem 객체를 만들어 추가하게 됩니다. ListViewItem 에 Add 함수를 이용해서 차례대로 데이터를 추가하게 되면 아래 샘플 그림 처럼 첫 열이 비어서 들어가게 됩니다. 이번에는 첫 열부터 데이터가 들어 갈수 있도록 추가하는 다양한 방법에 대해 알아 보겠습니다.
▼ 아래 소스를 사용해서 ListView 에 데이터를 추가하게 되면 그림처럼 A 열에 데이터가 들어가지 않고 B 부터 들어가게 됩니다.
private void button1_Click(object sender, EventArgs e) { ListViewItem lvi = new ListViewItem(); lvi.SubItems.Add(textBox1.Text); lvi.SubItems.Add(textBox2.Text); lvi.SubItems.Add(textBox3.Text); listView1.Items.Add(lvi); }
▼ 첫 열부터 채우는 방법은 아주 다양합니다. 간단하게 생성자부터 채워나가는 방식과 배열을 이용하는 방법등 C# 을 공부하는데 도움이 되리라 생각됩니다. 아래 방식은 string 배열을 이용한 방식입니다. 생성자가 string 배열객체를 인식해서 자동으로 ListView 에 추가해 줍니다.
private void button1_Click(object sender, EventArgs e) { string[] row = { textBox1.Text, textBox2.Text, textBox3.Text }; var listViewItem = new ListViewItem(row); listView1.Items.Add(listViewItem); }
▼ 아래는 ListViewItem 객체의 Text 속성값에 첫번째 열 값을 넣으시고 Add 함수를 이용해서 차례대로 추가하시면 됩니다.
private void button1_Click(object sender, EventArgs e) { ListViewItem lvi = new ListViewItem(); lvi.Text = textBox1.Text; lvi.SubItems.Add(textBox2.Text); lvi.SubItems.Add(textBox3.Text); listView1.Items.Add(lvi); }
▼ 아래 방식은 생성자에 첫번째 열 데이터를 추가하는 가장 간단한 방식이네요.
private void button1_Click(object sender, EventArgs e) { ListViewItem lvi = new ListViewItem(textBox1.Text); lvi.SubItems.Add(textBox2.Text); lvi.SubItems.Add(textBox3.Text); listView1.Items.Add(lvi); }
▼ 네번째 방식은 데이터를 List 객체로 받았을 때 활용할만한 샘플입니다. ToArray() 함수를 이용해서 string 배열을 생성자에 넘기시면 첫번째 예제와 동일한 형태가 되는 것이죠.
private void button1_Click(object sender, EventArgs e) { List<string> arr = new List<string>(); arr.Add(textBox1.Text); arr.Add(textBox2.Text); arr.Add(textBox3.Text); ListViewItem lvi = new ListViewItem(arr.ToArray()); listView1.Items.Add(lvi); }
▼ 이렇게 해서 샘플 폼에 있는 ListView 컨트롤에 첫 열부터 데이터를 추가하는 방법에 대해 알아 보았습니다.
댓글을 달아 주세요
익명 2020.06.02 01:26 댓글주소 수정/삭제 댓글쓰기
비밀댓글입니다
어떤 분야에 일을 하고 싶은지 정하고 언어는 다음에 결정하세요. 아무래도 C# 이 대중적입니다. 요즘은 장비쪽도 C, C++ 을 하지 MFC 잘 안씁니다.
list에 텍스트박스 값 3개를 담으셧는데
저같은 경우는 한줄에 4개를 표현합니다.
리스트에 총 8개를 담았는데
맨 위 4개만 표현이 되고 그다음 줄에 나타나질 않네요 방법이있을까요?