C # listView, comment append des éléments aux colonnes 2, 3 et 4, etc.?

Pour append des éléments à la colonne 1 de mon contrôle listView ( Winform ), j’utilise listView1.Items.Add , cela fonctionne bien, mais comment append des éléments aux colonnes 2 et 3, etc.?

Il y a plusieurs façons de le faire, mais voici une solution (pour 4 colonnes).

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

Et une manière plus verbeuse est ici:

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

Vous pouvez append des éléments / sous-éléments au ListView comme:

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

Mais je soupçonne que votre problème est avec le type de vue . Définissez-le dans le concepteur sur Détails ou procédez comme suit dans le code:

 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.ToLongTimeSsortingng()); newList.SubItems.Add("3"); newList.SubItems.Add("4"); newList.SubItems.Add("5"); newList.SubItems.Add("6"); listViewTimeSheet.Items.Add(newList); } 

Voici la documentation msdn sur l’object listview et l’object listviewItem.
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.listviewitem.aspx

Je recommande fortement que vous preniez au moins le temps de parcourir la documentation sur tous les objects que vous utilisez depuis le framework .net. Bien que la documentation puisse être assez médiocre à certains moments, elle est toujours précieuse, en particulier lorsque vous rencontrez des situations comme celle-ci.

Mais comme le disait James Atkinson, il s’agit simplement d’append des sous-éléments à une liste de lecture comme ceci:

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

Pour votre problème, utilisez comme ceci:

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

Une ligne que j’ai faite et ça marche:

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

Utiliser ListViewSubItem – Voir: MSDN