Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Anzahl der gecheckten Checkboxen in ListView begrenzen (https://www.delphipraxis.net/102679-anzahl-der-gecheckten-checkboxen-listview-begrenzen.html)

Reinhardtinho 2. Nov 2007 09:28


Anzahl der gecheckten Checkboxen in ListView begrenzen
 
Hi @all,

ich habe eine ListView (TJvListView) mit Checkboxen und möchte die Anzahl der gecheckten Checkboxen begrenzen.
Nun habe ich das Problem, dass es kein Ereignis OnCheckboxChange gibt und das sich das Ereignis OnChange nicht auf die Checkboxen auswirkt.

Wie und wo kann ich ermitteln, dass grade eine Checkbox aktiviert wird und die Gesamtstumme abfragen, dass es überhauot erlaubt ist, die Checkbox zu aktivieren?


Vielen Dank.

MFG
Lorenz

Aurelius 2. Nov 2007 10:22

Re: Anzahl der gecheckten Checkboxen in ListView begrenzen
 
Ich würde eine globale oder private-Variable nutzen, hier ist es gesamt.

Delphi-Quellcode:
begin
if not checkbox.checked then gesmat := gesamt - 1;
if Gesamt < 10 and checkbox.checked then gesamt := gesamt + 1;
if Gesamt >=10 and checkbox.checked then checkbox.checked := false;
end;
Hoffe es ist verständlich...:D

Reinhardtinho 2. Nov 2007 10:30

Re: Anzahl der gecheckten Checkboxen in ListView begrenzen
 
Hi xX0815Xx,

Vielen Dank für deinen Tipp.

Was noch bleibt ist, das Event, wo der Code hinein muss:
Zitat:

Zitat von Reinhardtinho
Nun habe ich das Problem, dass es kein Ereignis OnCheckboxChange gibt und das sich das Ereignis OnChange nicht auf die Checkboxen auswirkt.

Weiß da noch jemand Rat?

MFG
Lorenz

lbccaleb 2. Nov 2007 10:32

Re: Anzahl der gecheckten Checkboxen in ListView begrenzen
 
Zitat:

Zitat von Reinhardtinho
Hi @all,

Nun habe ich das Problem, dass es kein Ereignis OnCheckboxChange gibt und das sich das Ereignis OnChange nicht auf die Checkboxen auswirkt.

nein gibt es nicht aber du kannst es mit "onchange" versuchen oder auch mit "onchanging" damit könntest du dein vorhaben schon realisieren.... das geht, 100%ig ;-)


naja wenn dir das nicht reicht dann kansst du allerdings auch noch auf die komponente tjvchecklistbox....

vllt kannst damit zur not noch was anfangen..

mfg

Aurelius 2. Nov 2007 10:35

Re: Anzahl der gecheckten Checkboxen in ListView begrenzen
 
Den code einfach bei den einzelnen "onclicks" der Checkboxen einfügen und anpassen.

P.S.: Ich weiß das geht auch einfacher und besser...;)

Reinhardtinho 2. Nov 2007 10:56

Re: Anzahl der gecheckten Checkboxen in ListView begrenzen
 
Zitat:

Zitat von xX0815Xx
Den code einfach bei den einzelnen "onclicks" der Checkboxen einfügen und anpassen.

P.S.: Ich weiß das geht auch einfacher und besser...;)

Es gibt ja leider kein Ereignis OnClick der Checkboxen.

Aurelius 2. Nov 2007 11:25

Re: Anzahl der gecheckten Checkboxen in ListView begrenzen
 
Gibts das bei der Komponente nicht?

Dann kann ich dir leider nicht weiterhelfen :(

lbccaleb 2. Nov 2007 12:02

Re: Anzahl der gecheckten Checkboxen in ListView begrenzen
 
ja aber wie ich schon geschrieben hab, gibt es ein allgemeines ereignis für alle checkboxen und das kannst du doch nutzen!! so wie ich es oben schon geschrieben hab....


wenn du zb. onchange verarbeitest mit deiner tjvlistview kannst du mit:

Delphi-Quellcode:
procedure TForm1.JvListView1Changing(Sender: TObject; Item: TListItem;
  Change: TItemChange; var AllowChange: Boolean);
var
i:integer;
begin
for i :=1 to jvlistview1.Items.Count -1  do
  jvlistview1.selected.checked := false;
end;
zb. alle chebboxen auf "unchecked" setzen..

ps das nicht getestet aber irgend wie so muss es gehen..


mfg

Reinhardtinho 2. Nov 2007 12:19

Re: Anzahl der gecheckten Checkboxen in ListView begrenzen
 
Vielen Dank für eure Tipps und Hilfen, aber auch das Ereignis OnChanging wird nicht ausgelöst, wenn ich eine der Checkboxen anklicke.

lbccaleb 2. Nov 2007 13:37

Re: Anzahl der gecheckten Checkboxen in ListView begrenzen
 
und onchange mal probiert der code müsste ungefähr der selbe sein...


mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:20 Uhr.
Seite 1 von 2  1 2      

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