![]() |
Problem mit 2 Listviewkomponenten
Hi
folgendes Problem, habe 2 Listview komponenten und eine Suchfunktion mit hilfe der Suchfunktion kann ich halt angeben in was er suchen soll (Spalte) und wonach er suchen soll. Und dann wird quasi der Treffer von Listview1 nach Listview2 kopiert ohne den Eintrag in Listview1 in irgendeiner art zu ändern. Wenn ich das erste Suche gibts keine Probleme Subitems[0] passiert genau das was ich will doch wenn ich in den anderen Subitems suche dann passiert es manchmal das der einfach in Listview1 zeilen löscht obwohl er da garnix löschen soll. Dies ist die Procedure die als einzigstes aufgerufen wird. Sieht da zufällig wer nen Fehler, bin am verzweifeln da ich ja normalerweise an Listview1 nix mache sondern nur die daten von 1 nach 2 kopiere ?
Delphi-Quellcode:
Thx und Mfg Capa
procedure TForm1.Button1Click(Sender: TObject);
var I,L: Integer; begin ListView2.Items.Clear; for I := 1 to 5 do begin if (TRadioButton(FindComponent('RadioButton'+IntToStr(I))).Checked) then begin Label3.Caption := TRadioButton(FindComponent('RadioButton'+IntToStr(I))).Caption; L := I; end; end; for I := 0 to Listview1.Items.Count - 1 do begin if (pos(Edit1.Text, Listview1.Items[I].SubItems[L-1]) > 0) then ListView2.Items.AddItem(ListView1.Items[I]); end; Listview1.Visible := False; Listview2.Visible := True; Panel2.Visible := True; Label4.Caption := Edit1.Text; end; |
AW: Problem mit 2 Listviewkomponenten
Ich habe jetzt nicht in den VCL-Source geschaut, aber kann es sein, dass nach
Zitat:
|
AW: Problem mit 2 Listviewkomponenten
Stimmt auffallend :/
habs zwar nun abgeändert und er löscht das in Listview1 auch nicht mehr dafür bekomm ich bei der 2ten Zeile ne AE :/ muss mal schauen woran das nun schon wieder liegt. Edit: Mhh hier muss der Fehler liegen wenn ich die LI sachen rauskommentiere funzt es ohne Probs Sind sie Drin bekomm ich in der 2ten Zeile ne AE aber nur in der 2ten Zeile 1te und 3te ohne Probs und zeile 2 is auch nur dann nen Problem wenns das einzige ergebnis ist wenn ich nach was suche was auch noch in der 1ten oder 3ten zeile steht dann gehts plötzlich.
Delphi-Quellcode:
Edit: Fehler gefunden > 0 spinnt er rum
for I := 0 to Listview1.Items.Count - 1 do
begin if (pos(Edit1.Text, Listview1.Items[I].SubItems[L-1]) > 0) then LI := ListView2.Items.Add; LI.Caption := ListView1.Items[I].Caption; LI.SubItems.Add(ListView1.Items[I].SubItems[0]); LI.SubItems.Add(ListView1.Items[I].SubItems[1]); LI.SubItems.Add(ListView1.Items[I].SubItems[2]); LI.SubItems.Add(ListView1.Items[I].SubItems[3]); LI.SubItems.Add(ListView1.Items[I].SubItems[4]); end; |
AW: Problem mit 2 Listviewkomponenten
begin und end sagen Dir etwas? ;)
|
AW: Problem mit 2 Listviewkomponenten
ups jetzt wo du es sagst :/
zuletzt stand da nen einzeiler *hust* |
AW: Problem mit 2 Listviewkomponenten
Wenn die RadioButtons auf einer RadioGroup liegen und per Items definiert wurden könnte es auch so gehen:
Delphi-Quellcode:
Ungetestet.
procedure TForm1.Button1Click(Sender: TObject);
var I,L: Integer; Item: TListItem; begin ListView1.Items.BeginUpdate; try ListView2.Items.Clear; L := RadioGroupDings.ItemIndex; (* for I := 1 to 5 do begin if (TRadioButton(FindComponent('RadioButton'+IntToStr(I))).Checked) then begin Label3.Caption := TRadioButton(FindComponent('RadioButton'+IntToStr(I))).Caption; L := I; end; end; *) if L > -1 then begin for I := 0 to Listview1.Items.Count - 1 do if (pos(Edit1.Text, Listview1.Items[I].SubItems[L]) > 0) then begin Item := ListView2.Items.Add; Item.Caption := Listview1.Items[I].Caption; Item.SubItems.AddStrings(Listview1.Items[I].SubItems); end; Listview1.Visible := False; Listview2.Visible := True; Panel2.Visible := True; Label4.Caption := Edit1.Text; end; finally ListView2.Items.EndUpdate; end; end; |
AW: Problem mit 2 Listviewkomponenten
Danke für die Hilfe
:coder2: Weiß nicht was mich da schon wieder geritten hat :/ Radiogroup da stehen doch alle untereinander oder ? bei mir is das aus platzgründen etwas anderst angeordnet |
AW: Problem mit 2 Listviewkomponenten
Nicht unbedingt, im OI kannst Du das über
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz