Thanks for this Ahmad - i checked out the link you shared.
Here is the code that i used. I unfortunately can’t get it to work still 
Is there something wrong with the code below or do I have to connect the dataset to items on my page?
Some other details -
- the buttons I’m using are a combination for drop-downs and radiobuttons
- my database has 15,000+ rows
- I’m connecting the filtered output to a repeater
Thanks so much for your help!
import {wixData} from ‘wix-data’ ;
export function A_change(event) {setMyFilter()}
export function B_change(event) {setMyFilter()}
export function C_change(event) {setMyFilter()}
export function D_change(event) {setMyFilter()}
export function E_change(event) {setMyFilter()}
export function F_change(event) {setMyFilter()}
export function G_change(event) {setMyFilter()}
$w.onReady( function () { });
function setMyFilter (parameter) {
let REFERENCE1 = “columntitle1”
let REFERENCE2 = " columntitle2 "
let REFERENCE3 = " columntitle3 "
let REFERENCE4 = " columntitle4 "
let REFERENCE5 = " columntitle5 "
let REFERENCE6 = " columntitle6 "
let REFERENCE7 = " columntitle7 "
let ITEM1 = $w( ‘#A’ ).value
let ITEM2 = $w( ‘#B’ ).value
let ITEM3 = $w( ‘#C’ ).value
let ITEM4 = $w( ‘#D’ ).value
let ITEM5 = $w( ‘#E’ ).value
let ITEM6 = $w( ‘#F’ ).value
let ITEM7 = $w( ‘#G’ ).value
let filter = wixData.filter()
if ($w( ‘#A’ ).value!== 0 ) {filter = filter.eq(REFERENCE1, ITEM1);}
if ($w( ‘#B’ ).value!== 0 ) {filter = filter.eq(REFERENCE2, ITEM2);}
if ($w( ‘#C’ ).value!== 0 ) {filter = filter.eq(REFERENCE3, ITEM3);}
if ($w( ‘#D’ ).value!== 0 ) {filter = filter.eq(REFERENCE4, ITEM4);}
if ($w( ‘#E’ ).value!== 0 ) {filter = filter.eq(REFERENCE5, ITEM5);}
if ($w( ‘#F’ ).value!== 0 ) {filter = filter.eq(REFERENCE6, ITEM6);}
if ($w( ‘#G’ ).value!== 0 ) {filter = filter.eq(REFERENCE7, ITEM7);}
$w( '#dataset2' ).setFilter(filter)
}
$w( ‘#viewresults’ ).onClick( async (event) => {
await setMyFilter().then(() = {
// Refresh the dataset
$w( ‘#dataset2’ ).refresh();
}).then(() = {
// Repopulate the repeater’s data
})
})
$w( ‘#repeater1’ ).forEachItem( ($item, data) => {
$item( ‘#text89’ ).text = data.columntitle8;
$item( ‘#text88’ ).text = data.columntitle9;