Figured out a solution (takes a few steps):
- Added a hidden slider with default = Len(ComboBox.SearchText)
-In OnChange of slider, create temporary collection with a concatenated list of potential matches, then add those to the ComboBox data source/collection with concat function by item#
-Include added column in search field of combobox
Slider OnChange:
Clear(tempMatches);
ClearCollect(tempTable,AddColumns(DataSource,"Matches",
With({
a:ForAll(Split(Concat(Filter(Split(ThisRecord.'col01',","),Find(Lower(Result),Lower(ComboBox1.SearchText))>0).Result,Result,","),","),Result),
b:ForAll(Split(Concat(Filter(Split(ThisRecord.'col02',","),Find(Lower(Result),Lower(ComboBox1.SearchText))>0).Result,Result,","),","),Result),
c:ForAll(Split(Concat(Filter(Split(ThisRecord.'col03',","),Find(Lower(Result),Lower(ComboBox1.SearchText))>0).Result,Result,","),","),Result),
d:ForAll(Split(Concat(Filter(Split(ThisRecord.'col04',","),Find(Lower(Result),Lower(ComboBox1.SearchText))>0).Result,Result,","),","),Result))
},
ForAll(Sequence(CountRows(a)) As A,
ForAll(Sequence(CountRows(b)) As B,
ForAll(Sequence(CountRows(c)) As C,
ForAll(Sequence(CountRows(d)) As D,
Collect(tempMatches,{ItemID:ID1,Matches:Concatenate(
Last(FirstN(a,A.Value).Value).Value,
Last(FirstN(b,B.Value).Value).Value,
Last(FirstN(c,C.Value).Value).Value,
Last(FirstN(d,D.Value).Value).Value)})
)
)
)
)
)
));
ClearCollect(DataSource2,AddColumns(ShowColumns(DataSource,"ID1"),"Matches",Concat(Filter(tempMatches,ItemID=ID1).Matches,Matches,",")));
This only works for a specified number of columns, but that's acceptable for my purposes. Would welcome any suggestions/comments if there's other methods to accomplish the dynamic search.