![]() |
FMX tListview - TextButton für einige Listitems ausblenden
Moin,
ich habe ein FMX-tListview und möchte zehn Listitems dort anzeigen. Unter bestimmten Umständen soll in einem Eintrag ein Textbutton zu sehen sein. Die Appearance ist bewusst "ImageListItemBottomDetailRightButton" gewählt, also keine Dynamic oder Custom. Ich hoffte mit dieser Funktion den Button pro ListviewItem einstellen zu können, funzt aber nicht. Hat jemand einen Tipp ohne Dynamic zu arbeiten? Diese Zeile hat keine Auswirkung result.Objects.TextButton.Visible:=aButtonText<>'' ;.
Code:
Diese Zeile hat keine Auswirkung result.Objects.TextButton.Visible:=aButtonText<>'' ;.
function AddItem(aText:String;aDetail:String;aImageIndex:Integer=-1;aButtonText:String='';aKontext:String='';aKontextWert:String=''):tListviewItem;
begin result:=lv.Items.Add; result.text:=aText; result.Detail:=aDetail; result.imageIndex:=aImageIndex; result.Objects.TextButton.Visible:=aButtonText<>''; result.ButtonText:=aButtonText; result.Data['Kontext']:=aKontext; result.Data['KontextWert']:=aKontextWert; end; |
AW: FMX tListview - TextButton für einige Listitems ausblenden
Ich glaube, ich hab schon eine Lösung gefunden mit dem Event UpdateObjects.
Code:
Allerdings wundert es mich, dass man das Textbutton-Object auf NIL prüfen muss. Sonst bekommt man eine saubere Zugriffsverletzung.
procedure TForm1.lvUpdateObjects(const Sender: TObject;
const AItem: TListViewItem); begin if aItem.Objects.TextButton=nil then exit; aItem.Objects.TextButton.Visible:=aItem.ButtonText<>''; end; Aber so funktioniert es, und die Buttons sind nur dort, wo ich auch welche sehen möchte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 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