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

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



답변

이를 수행하는 방법에는 여러 가지가 있지만 여기에 하나의 솔루션이 있습니다 (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});


답변

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

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

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

listView1.View = View.Details;


답변

 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);

        }


답변

다음은 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");


답변

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

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


답변

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

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


답변

ListViewSubItem 사용-참조 : MSDN