TListView suitable for my purpose?

I have a list of items that I want to show in my application. Each item would need a small image, some text and a couple of buttons. In the past I’ve used a TMS TAdvStringGrid, but since this is an FMX project I don’t have those components so I looked at TListView.

I’ve never got around to using a TListView before, so am not sure if it can be used for my needs. I can use it in it’s most basic form and populate the items with some simple text, but don’t know where to go from there.

Would I be best using multiple columns instead of a single one with multiple objects and playing with the alignment of each?

Keep in mind that there is no database with fields like 99% of the examples show. I want to use the values from my objects that are in a list.

Considering your needs (small image, text and buttons per item), you should have a glance at TControlList, introduced in RAD Studio 10.4.2.

Here are some Marco Cantu’s articles about it :
Two New VCL Controls Coming in RAD Studio 10.4.2
The New VCL ControlList Multiple Selection in Delphi 11.3

Ah, that was probably what I was thinking of when I was looking through the component palette. It looks like it’s VCL only though, not FMX?

I saw this, might be of some use :

https://stackoverflow.com/questions/10804977/firemonkey-grid-with-different-controls-in-same-column?rq=4

and better, a blog post by the person answering :

You’re right, FMX TControlList does not exist for Delphi, only for C++: FMX.Controls.TControlList - RAD Studio API Documentation

I liked the overall look of TListView, but how to set it up seems very convoluted so that may have to wait until I have more time. In the meantime a plain TGrid seems like the way forward.

I’m experimenting with TListView again. Does the FMX version support virtual mode? Some online sources seem to indicate it does. I can see an UpdateObjects event where you could populate the Item, but I can’t see how to enable virtual mode in the documentation or property inspector.

I’d also like to be able to support moving items via drag and drop, but the properties and events don’t seem to suggest that it can.