C # listView, 열 2, 3 및 4 등에 항목을 어떻게 추가합니까?


106

사용중인 listView컨트롤 ( Winform)의 열 1에 항목을 추가하려면 listView1.Items.Add잘 작동하지만 열 2와 3 등에 항목을 추가하려면 어떻게해야합니까?


8
+1 : 좋은 질문입니다. ListView 컨트롤의이 부분은 매우 혼란스럽고 직관적이지 않습니다. 가끔 난 정말 그들이 MS @ 개발자 싫어 생각
메디 LAMRANI

1
@Mika : 강력한 GUI 디자인의 복잡성을 사용자로부터 추상화하는 것은 쉽지 않습니다.
Christopher Berman 2013 년

1
(그건 내 머릿속에서 덜 애용하는 것 같았어요. 죄송합니다!)
Christopher Berman 2013 년

subiiems에 추가
Ramankingdom

답변:


134

이를 수행하는 방법에는 여러 가지가 있지만 여기에 하나의 솔루션이 있습니다 (4 컬럼 용).

string[] row1 = { "s1", "s2", "s3" };
listView1.Items.Add("Column1Text").SubItems.AddRange(row1);

더 자세한 방법은 다음과 같습니다.

ListViewItem item1 = new ListViewItem("Something");
item1.SubItems.Add("SubItem1a");
item1.SubItems.Add("SubItem1b");
item1.SubItems.Add("SubItem1c");

ListViewItem item2 = new ListViewItem("Something2");
item2.SubItems.Add("SubItem2a");
item2.SubItems.Add("SubItem2b");
item2.SubItems.Add("SubItem2c");

ListViewItem item3 = new ListViewItem("Something3");
item3.SubItems.Add("SubItem3a");
item3.SubItems.Add("SubItem3b");
item3.SubItems.Add("SubItem3c");

ListView1.Items.AddRange(new ListViewItem[] {item1,item2,item3});

65

다음 과 같이 ListView 에 항목 / 하위 항목 을 추가 할 수 있습니다 .

ListViewItem item = new ListViewItem(new []{"1","2","3","4"});
listView1.Items.Add(item);

그러나 나는 당신의 문제가 View Type에 있다고 생각합니다 . 디자이너에서 세부 정보로 설정하거나 코드에서 다음을 수행합니다.

listView1.View = View.Details;

2
"listView1.FullRowSelect = true"를 사용하는 것도 매우 중요합니다. 그렇지 않으면 열 1 만 클릭 할 수 있습니다. 나는 이것을 더 일찍 알았 으면 좋겠다! 그것은 저에게 많은 일을 절약 할 수 있었을 것입니다.
John Henckel 2015-06-01

특히 listView1.View에 대한 발언이 도움이되었습니다! Thnx!
Dev.Jaap

7
 private void MainTimesheetForm_Load(object sender, EventArgs e)
        {
            ListViewItem newList = new ListViewItem("1");
            newList.SubItems.Add("2");
            newList.SubItems.Add(DateTime.Now.ToLongTimeString());
            newList.SubItems.Add("3");
            newList.SubItems.Add("4");
            newList.SubItems.Add("5");
            newList.SubItems.Add("6");
            listViewTimeSheet.Items.Add(newList);

        }

7

다음은 listview 개체 및 listviewItem 개체에 대한 msdn 설명서입니다.
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.listviewitem.aspx

.net 프레임 워크에서 사용하는 모든 객체에 대한 문서를 최소한 시간을 할애하여 훑어 보는 것이 좋습니다. 문서는 때때로 매우 열악 할 수 있지만 특히 이와 같은 상황에 처할 때 여전히 매우 중요합니다.

그러나 James Atkinson이 말했듯이 단순히 다음과 같이 listviewitem에 하위 항목을 추가하는 문제입니다.

ListViewItem i = new ListViewItem("column1");
i.SubItems.Add("column2");
i.SubItems.Add("column3");

4

문제에 대해 다음과 같이 사용하십시오.

ListViewItem row = new ListViewItem(); 
row.SubItems.Add(value.ToString()); 
listview1.Items.Add(row);

0

내가 만든 한 줄이 작동합니다.

listView1.Items.Add(new ListViewItem { ImageIndex = 0, Text = randomArray["maintext"], SubItems = { randomArray["columntext2"], randomArray["columntext3"] } });

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.