2020r1 Listbox HeaderHeight

That is not true… Well at least not apparently… One CAN make apparent listbox rows a multiple of ListBox.Default row height as well as merge cells across columns as well as rows. I did it 10 years ago.

This all as done with a Xojo listbox subclass and supports editing in merged cells as well as columns resizing as expected and will work with hierarchical listboxes, and optionally draw lines connecting nodes.


@KarenA, this is not about user-defined emulated row heights, but about the built-in function of the Xojo Listbox. I know that you can emulate multiline.

Isn’t what matters is what the end user of the app sees?

Anyway I just wanted to point out it is not impossible to have that type of UI with the Xojo Listbox.

And teh subclass is written so teh user does not have to “do teh emulation” it is all wrapped in a high level API consistant with the (at the time i wrote it) Xojo listbox API.


And if you are willing to use a third-party solution, piDog’s DataView is built on a canvas instead of ListBox subclass. Which makes it possible to do LOTS of stuff beyond true variable row heights, cell spanning (row or column), lots of addition events exposed (including much header stuff), and much more too numerous to mention.

No vested interest; just a very happy user. I originally bought it for the row and column spanning plus simple header overrides, column “freeze” on the left, etc. But then once I had it, found I rarely use a standard ListBox anymore because this has WAY more features.

And I already have a source license. :slight_smile:

Well I would I guess if the developer would answer, I did contacted him on the website contact form and no reply until now, so non replying developers for their products I guess is not a good sign, Now, that you have the source code license already, quick question, I assume that in the DataView SourceCode you have as well the Scrolling Canvas source code, right ? so if it would be to buy the DataView with source code we would have that as well ? or not ?

Thanks and hopefully in the meantime he will reply as well.

Interesting your theory, could you share some sample project doing that ? if that’s not to much ? for the moment for us we would like to use that part but unfortunately we find it limited.


On my website there is an example project…unfortunately the example code I write 10 years ago (which is not encrypted but uses now removed features - I think NewPicture instead of New Picture- simple fix) so won’t compile with fixing it… I have fixed those locally but unfortunately I have not been able to access the site to update it

If you PM me your Email I will send you a working Demo when I get home this evening

It’s all API 1 code.


Jim has is nearly always very responsive, so suggest you give him some time to answer. In the meantime, download his demo project and review some features.

Yes, you get the source code for both though I don’t think I have ever had to tweak the Scrolling Canvas portion for my usage. In the earliest days, I did more tweaks to the DataView source but Jim has implemented as features most of what I used to change. (I mean, he added features similar to what I needed; he did not use my source code.)

He’s also been very helpful when I’ve asked how I could accomplish a certain goal. And then sometimes those requests magically appear in the next version too.

while I don’t doubt that I guess I’ll just have to wait more but my concern and my worry was that I would have to get both packages but if the canvas Is included in the DataView and we have all then no worries this was one of the questions as well I guess so will be gladly taking his package.

Thanks again for clarifications

Yes, the DataView uses the Scrolling Canvas. For MY purposes, I have not also used the Scrolling Canvas independently. Just as an enabler for DataView support.

And you don’t need the source code version unless:

  • You want to add logic beyond existing features / events
  • You want to ensure you have source if Jim goes out of business or whatever

There are lots more events available where you can add code to accomplish things even with the source.

I did see your email, but it must have been deleted or filtered before I replied. Sorry about that.

If you purchase the source code license you do also get access to the piDogScrollingCanvas source code.
You’re welcome to try the demo project and look through the example and see if it will fit your needs.

As for individual row heights, yes you can set a different row height for each row individually. You can also set a cellheight (for example to expose more content on mouse over). There is also the option of embedding container controls to customize individual cells or columns.

Thanks Jim, Appreciate that, I guess you will see the purchase by tomorrow if it was not done already , hope will help us a lot.

thanks again.