Jeg sidder og roder med listviews, og har nogle forskellige rækker, men lige pludselig finder jeg ud af jeg skal have nogle flere rækker ind, og så skal jeg sidde og holde styr hvilke strings der ligger i de forskellige subitems.
problemet er når jeg skal teste på en af strengene i mit ListViewItem, så skal jeg vide hvilken position de ligger i.
eks.
// I lvis[i].SubItems[1].Text ligger Postnummer if (lvis[i].SubItems[1].Text == 7000) { ListView1.Items.Add(lvis[i]); }
jeg kan se at man på en eller anden måde kan bruge tekst til at afgøre hvilket subitem man vil tilgå sådan at man kan skrive
// I lvis[i].SubItems["Postnummer"].Text ligger Postnummer if (lvis[i].SubItems["Postnummer"].Text == 7000) { ListView1.Items.Add(lvis[i]); }
problemet forkommer selvfølgelig først når man begynder at skubbe strenge ind før end den man tester på. Men jeg sidder med 15 subitems, og skal bruge lidt flere nu og hvad nu hvis man ikke skal bruge alle oplysninger og så fjerne nogle subitems så går det hele i kludder, og man skal holde tungen mere end lige i munden.
Hvis jeg har opfattet det korrekt, så er det du ønsker at opnå en liste af kontakter sorteret efter postnummer vist i Details view i ListView med en kolonner for "hvert felt". Hvis dette er korrekt opfattet, så er løsningen IKKE at iterere sig gemmem alle sine elementer for at finde en korrekt placering for sit nye element. Du skal derimod implementere sortering for dit ListView.
Imidlertid er ListView efterhånden en gammel kontrol, og derfor hvis du ønsker visning i kolonner kan jeg som alternativ anbefale at du anvender DataGridView i stedet.
Opret en "Kontakt" kladde med properties for dine felter. Opret f.eks. en BindingList af denne klasse.
private BindingList<Kontakt> kontaktListe = new BindingList<Kontakt>();
Og sæt denne liste som værende DataSource på et DataGridView.
Desværre er det ikke sortering jeg efterlyser, men at bruge strenge til at indexere med i stedet for de normale fortløbende tal i subitems
Altså, jeg vil gerne kunne skrive
lvis[i].SubItems["Postnummer"]. i stedet for lvis[i].SubItems[1].Text
Håber dette giver et klarer syn på mit problem, dette er mit første problem, og jeg har ingen idé om pointsættelse, så er 30 meget lavt sat?
På forhånd tak Tommy Bergquist
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.