I have a background image with texture to it that I want to show through the listbox. Apparently, Xojo in all their infinite wisdom says, “No. We don’t want you to do that. We insist that a listbox look ike a spreadsheet.”
At this point, I think it might be easier for me to put a canvas on the page and draw my text there. I can specify exactly where to put it, the color, size, etc.
Hopefully the canvas is a bit more flexible than the listbox.
So why is it exactly that you are not using WebStyle and WebListboxStyleRenderer ?
I noticed on testing that xojo is resetting the “hacked” styling (in css) back to the original.
And supposedly Xojo functionality is built around the Bootstrap CSS file except for list boxes. Everyone has told me the “proper” way to do things is through CSS.
And the listbox style renderer is for changing styles on cells not the entire listbox.
You didn’t re-assinged the class instance, but i do see that’s not even possible also since:
“This method is protected. It can only be called from with it’s class”
me.Style = New WebStyle
me.style.BackgroundColor
All give the same error…
Probably a bug. @Greg_O_Lone ? or by design?
Even if subclasses you cannot override the Style() As WebStyle and Style(Assings value As WebStyle) functions… definately a bug…
It seems to me that Xojo is using https://datatables.net internally. All I can say for sure is that every project has its own “table CSS”. I never dived into this too deeply, as you could anyways only override it with CSS injections and I think there is probably a reason why Xojo is not including it into the bootstrap theme or doesn’t allow us to upload (like with the bootstrap theme). an own css. So I never touched it yet, no way or the other . @DerkJ and that might be the reason, why we currently can’t even override it via own styles … But all speculations only, but the reason for me to not yet touching it.
I haven’t tried it in the header yet. But that still doesn’t alter the fact that I can’t make the listbox transparent. That’s a new requirement because I thought the guy doing the graphics for the background of this project was going to give me a solid color that I would just match. It’s patterned instead.
But I think you are right - it has to go in the HTML header of the page.
If you don’t want to use the CSS overrides in the header, you’d have to execute your JavaScript to update the individual classes on elements after each change, which would be a PITA.
The downside to doing this in the App.HTMLHeader (or an additional CSS file) is that every single ListBox in your Web Application will be modified according to these rules, not just a single targeted one.
Cool. Thanks. I’ll keep that in mind if I need it. This is for a signage application where a Digital Signage player will display the generated page from the web app and display it on a TV screen. It’s to display a schedule of events at the facility. I may need to scroll the listbox via a timer if there’s a lot of events. So far that hasn’t been an issue - I think I should be able to get all the events on in one screen but who knows…
I did figure out how to change the text color and size. So that’s working too!