Listview

Tags:    delphi github

Jeg har 2 listview på min form.

Jeg vil gerne have lavet sådan at man kan tilføje items i Listview 2 for hver item i Listview1.. Dvs. at hvis jeg klikke på en item i Listview 1 og tilføjer en item i listview 2, derefter hvis jeg så klikker på en anden item i listview 1, så er der jo 0 items der, fordi at der ikke er oprettet nogen.

Den skal så gemme de items der er oprettet i Listview 2 for hver item i Listview1.

(lidt svært at forklare)
Men hvis der er spørgsmål så spørg bare ;)

Det her er meget vigtigt for mit program, så jeg håber på hjælp.

MVH.
ALA
MSN: gn_gn_gn@hotmail.com

P.s 200 point er det højeste jeg kan give, men jeg kan evt. sende 50 point fra mit kontrolcenter.



1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Jeg har 2 listview på min form.

Jeg vil gerne have lavet sådan at man kan tilføje items i Listview 2 for hver item i Listview1.. Dvs. at hvis jeg klikke på en item i Listview 1 og tilføjer en item i listview 2, derefter hvis jeg så klikker på en anden item i listview 1, så er der jo 0 items der, fordi at der ikke er oprettet nogen.

Den skal så gemme de items der er oprettet i Listview 2 for hver item i Listview1.


Der er umiddelbart to måder:
Det du kan gøre at du tilføjer en TList eller en TStringList til hvert item i Listview1. Et TListItem har nemlig en property der hedder data. Denne property er af typen pointer. Denne pointer sætter du så til at pege på en TList, som indeholder alle de poster der skal være i ListView2. Hver gang du så tilføjer noget til ListView2, skal du så huske at tilføje det til din TList.

Alternativ nummer 2, som iøvrigt er meget nemmere og mere sikker, er at anvende en database og en master-detail relation. Tabel1 indeholder master records, som vises i ListView1, og Tabel2 indeholder detail records som vises i ListView2.

Det er en smule besværligt at hente data ind i en ListView, men det er ikke svært. Fordelene ved at bruge en database løsning er nærmest uendelige, idet du ikke skal tænke på at gemme data, det klare databasen. Dine data er mere sikker i en database, end i almindelig tekstfiler. Det er generelt nemmere at styre. I den sidste ende vil der nok være mere arbejde i løsning nummer 1, fordi du vil skulle lave alt selv. Imodsætning til DB løsningen som klarer en hel del for dig.

Jeg skal sådan set bare lige hører hvorfor du vil bruge Listviews? Hvis du går med DB løsningen vil jeg jo nok anbefale dig at anvende DBGrids, så skal du stort set ikke kode noget overhovedet, (meget afhængigt af resten af programmets kompleksitet, selvfølgelig).
---
Thomas Due
tdue@mail.dk



t