02. april 2003 - 13:37Der er
24 kommentarer og 1 løsning
Listview
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.
Okay.. Det jer skal bruges til en medlems liste. I Listview 1 har jeg nogle medlemere (jeg kan self. oprette flere). Det jeg så skal kunne er at oprette stævnmøder med de her medlem, hver for sig. Dvs. at hvis jeg klikke på en medlem der hedder Jens og vil oprette en stævnmøde med ham, oprettes der en item i Listview 2. Hvis jeg så klikker på en anden medlem som hedder Anders så har listview 2 ingen items fordi at jeg ikke har oprettet nogle stævnmøder for denne medlem. Den skal så gemme stævnmøder(items) for hvert medlem.
Medlemmere er i Listview 1 Stævnmøder for hvert medlem er i Listview 2.
Håber at det var en bedre forklaring.. Ellers så spørg igen :)
jeg ved ikke om jeg har forstået det. men her er lidt kode.
håber du kan bruge det.
********************************************************************** procedure TForm1.ListView1Click(Sender: TObject); var ListItem:TListItem; begin case Listview1.itemindex of -1: ShowMessage('ingen objector valgt'); 0: begin ShowMessage('øverste Linje'); //slet indholdet af listview2 ListView2.Items.Clear; //tilføj noget til listview2 ListItem:=Listview2.Items.Add; ListItem.Caption:='test'; end; 1: //næste øverste object. end; end; ********************************************************************** du kan også teste på navnet istedet, men så kan du ikke bruge en case sætning.
fx. if ListView1.ItemFocused.Caption='hest' then DoSomething;
procedure THesteForm.AddHest(ListItem: String; Hest: THest); var I: Integer; begin I := ListBox1.Items.Add(ListItem); ListBox1.Items.Objects[I] := (THest as TObject); end;
procedure THesteForm.HentItem; var Hest: THest; begin Hest := (ListBox1.Items.Objects[ListBox1.ItemIndex] as THest); with ListBox2.Items do begin Clear; Add('Navn: ' + Hest.Navn); Add('Alder: ' + IntToStr(Hest.Alder) + ' år'); Add('Pony: ' + Hest.Pony); Add('Hale: ' + IntToStr(Hest.Hale) + ' cm.'); end; end;
procedure THesteForm.Button1Click(Sender: TObject); var Hest: THest; begin Hest := THest.Create; Hest.Navn := 'Eksperten'; Hest.Alder := 14; Hest.Pony := 'Armena'; Hest.Hale := 100; AddHest('Min egen hest', Hest); end;
hermandsen> jeg kunne ikke lige få det til at virke.. Kunne du pakke et eksempel sammen i en zip fil og sende/lægge det ud på nettet til mig? Kunne være meget lettere :)
Hermandens> Lad os bare sige at jeg ikke kan få objekten til at virke.. Som jeg sagde melder den fejl i Addhest proceduren.. Jeg kan ikke lige sige hvad fejlen er, først om et par timer, fordi at jeg skal have skaffet delphi igen, da jeg har fået en ny computer. Men er det ikke fordi at den ikke er declared?
Har stadig ikke delphi, men jeg tror at det ER objekten jeg ikke lige kan få til at virke. Og du bruger også ListBox.. det var jo Listview? Så jeg beder dig: Kunne du lave et eksempel hvor du bruger Listview og et hvor hele unitet er med?
Nu vil jeg prøve at forklare rigtig godt og grundigt!!
På min form har jeg disse komponenter: 1. 2 TListViews 2. 2 TButtons
Hvis man klikker på Button 1 bliver der tilføjet en item i ListView1. Hvis man så har klikket 10 gange på Button 1, så er der jo 10 Items i Listview 1. Det jeg vil ha' hjælp til er så at når man har valgt en af den 10 items i ListView 1, fx. vælger vi den øverste item, så hvis jeg klikker på Button 2, tilføjer den en item i Listview 2. Hvis jeg så vælger den næste item i ListView 1, så er der ingen items i Listview 2, fordi at jeg kun har oprette nogle items for den øverste item i ListView 1.
Det her skal bruges til en medlems liste hvor man kan oprette stævner for hvert medlem. Medlemerene er i ListView1 og Stævnerne for hvert medlem er i ListView 2.
Stævnerne for hvert medlem skal gemmes automatisk og loades automatisk ved start.
man kan ikke oprette stævner for et medlem med dit eks?
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.