# WebListBox live filtering ideas

**URL:** <https://forum.xojo.com/t/weblistbox-live-filtering-ideas/87883>\
**Category:** Web\
**Created:** [March 16, 2026, 5:25pm UTC](https://forum.xojo.com/t/weblistbox-live-filtering-ideas/87883 "2026-03-16T17:25:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![William\_Reynolds](https://forum.xojo.com/user_avatar/forum.xojo.com/william_reynolds/32/565_2.png) [@William\_Reynolds](https://forum.xojo.com/u/William_Reynolds)\
**Post date:** [March 16, 2026, 5:25pm UTC](https://forum.xojo.com/t/weblistbox-live-filtering-ideas/87883/1 "2026-03-16T17:25:48Z")

</div>

I’m populating the WebListBox of an app from straightforward SQL queries and iterations over the returned rows. This works extremely well and always has - I like this method because there’s no dependancy on the type of backend dbase.

Now I want to let the user filter results based on data they enter into a text field, using the **TextChanged** event. This could mean putting the data into a local array to manipulate, vs. multiple round-trips to re-query database. There are a lot of ways to approach this so I’m hitting the forum to look for any tips and tricks that might save me from reinventing the wheel. Thanks in advance for any advice or insights!

---

<div class="post-metadata">

**Author:** ![Tim\_Parnell](https://forum.xojo.com/user_avatar/forum.xojo.com/tim_parnell/32/161_2.png) [@Tim\_Parnell](https://forum.xojo.com/u/Tim_Parnell)\
**Post date:** [March 16, 2026, 5:50pm UTC](https://forum.xojo.com/t/weblistbox-live-filtering-ideas/87883/2 "2026-03-16T17:50:06Z")

</div>

Here’s a reference for why you should be using DataSource from both the original Web 2.0 architect and the current on-staff maintainer:

> [@Where is WebListBox.headerPressed ?!](https://forum.xojo.com/t/where-is-weblistbox-headerpressed/87465/6):
>
> You’re probably wrong. DataSource is very fast. It’s designed for doing what you want in that the listbox requests just what it needs to display and gives the user the ability to scroll to anywhere in the list. It does mean rethinking your query a little as an object that needs to be refreshed periodically however. I suggest that you create a class and apply the WebDataSource interface to it. Add a property to the class for the base query without the sorting ORDER BY or row filter LIMIT stateme…

DataSource isn’t tied to a particular engine any more than your “straightforward SQL queries” are. If you need to support a different engine, just create a different DataSource. It’s actually _easier_ to swap than your “straightforward SQL queries”.

I would recommend against trying to emulate a live-search **TextChanged** type filter unless you have the time to be implementing your own browser side JavaScript. From the constant posts about it, it seems WebListbox.SearchCriteria tends to deliver less than desirable results.

---

<div class="post-metadata">

**Author:** ![William\_Reynolds](https://forum.xojo.com/user_avatar/forum.xojo.com/william_reynolds/32/565_2.png) [@William\_Reynolds](https://forum.xojo.com/u/William_Reynolds)\
**Post date:** [March 16, 2026, 7:43pm UTC](https://forum.xojo.com/t/weblistbox-live-filtering-ideas/87883/3 "2026-03-16T19:43:31Z")

</div>

Thanks for the response Tim! Do you know of a good Example Project you’d recommend that showcases this approach?
