Création dynamique de item dans un listview

el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 7 juil. 2005 à 17:59
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 8 juil. 2005 à 10:01
Bonjour,



Je voudrais créer autant d'éléments "item" que contient ma collection.

Pour créer un item, il faut utiliser :


ListViewItem item1 = new ListViewItem("item1",0);



mon problème c'est que je voudrais créer "x" item donc item1 ne pourra pas être répété je pense. Une idée, une solution ? :-)



(le but de tout ça est de faire un truc du genre :

for (int i=0; i<ma_collection.count ; i++)

{

ListViewItem item+i = new ListViewItem("item"+i,0);

item+i.SubItems.Add("1");

item+i.SubItems.Add("2");

item+i.SubItems.Add("3");

}



mais bon, le +i, ca serait trop bô
A voir également:

2 réponses

el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
8 juil. 2005 à 10:01
Je file mon code pour ceux que ça intéresse :



// Create a new ListView control.

ListView listView1 = new ListView();


listView1.Bounds = new Rectangle(new Point(100,100), new Size(600,200));



// Set the view to show details.

listView1.View = View.Details;

// Allow the user to edit item text.

listView1.LabelEdit = true;

// Allow the user to rearrange columns.

listView1.AllowColumnReorder = true;

// Display check boxes.

listView1.CheckBoxes = true;

// Select the item and subitems when selection is made.

listView1.FullRowSelect = true;

// Display grid lines.

listView1.GridLines = true;

// Sort the items in the list in ascending order.

listView1.Sorting = SortOrder.Ascending;



// Ici, j'ai un tableau de string[x,5] qui
contient en [x,0] le nom de l'objet, et le reste, ce sont les
propriétés à mettre dans les colonnes, c'est-à-dire les subitems.

// Je crée une collection d'item de la taille du nombre de lignes du tableau (tableau.length / 5) :


ListViewItem[] col_lvi = new ListViewItem[tableau.Length / 5];

for (int i=0; i<tableau.Length / 5;i++)

{

// je remplit l'item en cours par le nom de l'objet


col_lvi[i] = new
ListViewItem(tableau[i,0].Remove(0,19));

for (int j=1; j<5 ;j++)

{

// Je remplit les colonnes de l'item par les propriétés de l'objet



col_lvi[i].SubItems.Add(tableau[i,j]);

}

}



// Create columns for the items and subitems.

listView1.Columns.Add("Nom du fichier", -2, HorizontalAlignment.Left);

listView1.Columns.Add("Date début", -2, HorizontalAlignment.Left);

listView1.Columns.Add("Heure début", -2, HorizontalAlignment.Left);

listView1.Columns.Add("Date de fin", -2, HorizontalAlignment.Left);

listView1.Columns.Add("Heure fin", -2, HorizontalAlignment.Left);



listView1.Items.AddRange(col_lvi);



// Add the ListView to the control collection.

this.Controls.Add(listView1);


Si ca peut aider qqln :)
1
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
7 juil. 2005 à 18:25
Voilà une petite idée :

for(
int i=0; i<x; i++)
{
ListViewItem lvi =
new ListViewItem(i.ToString());

this.listView.Items.Add(lvi);
}

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
Rejoignez-nous