2009-05-21 6 views
0

Alors, voici ma question: Pourquoi le code du premier extrait ne fonctionne-t-il pas lorsque le second fonctionne correctement. En outre, j'ai défini la propriété de vue aux détails. J'ai lu partout comment ajouter lvi à la listview, et il échoue à chaque fois ... sauf pour ensuite le faire manuellement.C# ListView Problème Ajout d'éléments

Donc, cela ne fonctionne pas ...

// Iterating through the rows... 
for (int x = 0; x < numRows; x++) { 
    row = new List<string>(); 
    // Iterating through the cols... 
    for (int y = 0; y < numCols; y++) { 
     row.Add(data[y][x]); 
    } 
    lv.Items.Add(new ListViewItem(row.ToArray())); 
} 

Mais cela fonctionnera:

lv.Items.Add(new ListViewItem("foo")); 
+0

Pouvez-vous définir "échoue"? Aussi - peut-être vérifier que vous avez les index de tableau dans le bon sens ... –

+0

En quoi cela ne fonctionne-t-il pas? Je viens de l'essayer ici et ça marche bien. –

Répondre

1

row.Add(data[y][x]) semble suspecté. Pourquoi accède-t-on aux données dans l'ordre de la première colonne mais recommence-t-on dans la première rangée? Aussi, assurez-vous que le type de row (vous ne nous l'avez pas dit) est en réalité List<string>.

0

ListViewItem est à la recherche d'un String [] essayer coulée row.ToArray() à un string[].

+0

En supposant que cette ligne est tapée comme 'List ' (pour l'init), alors row.ToArray() est déjà une chaîne [] –

+0

Puisque la ligne est déclarée comme Liste ToArray est déjà disponible en tant que chaîne []; pas besoin de lancer. –

+0

@Fredrik - en fait, la déclaration de ligne n'est pas montrée ... on pourrait * supposer * c'est Liste ... –