Powerapps中是否可以选择将搜索文本分为单个字符串,并仅在画廊中显示包含“所有”字符串的项目?

时间:2019-03-23 09:29:49

标签: full-text-search powerapps powerapps-formula

我的情况类似于此情况:单击here

我有一个画廊,里面陈列着收藏品。我已经添加了Textinput.Text,使客户有机会搜索商品。

但是,我正在努力的是实现“全文”搜索。

上述问题中提供的解决方案@carlosfigueira可以完美地拆分搜索文本,但我希望仅在画廊中显示包含所有单个字符串的显示项目。

这是我在画廊中物品的代码

Filter(
    CustomListIssues;
    Sum(
        ForAll(
            Filter(
                Split(
                    InpSearchString.Text;
                    " "
                );
                Len(Trim(Result)) > 0
            );
            If(
                Result in 'Title EN';
                1;
                0
            ) && "Unresolved" = Status && If(
                !IsEmpty(lbSearchDepartment.SelectedItems.Result);
                lbSearchDepartment.Selected.Value = Departement;
                "" in Departement
            )
        );
        Value
    ) > 0
)

CustomListIssues:我存储所有列表项的集合

InpSearchString.Text:搜索TextInput.Text

“标题EN”:我要根据给定的搜索字符串在其中搜索

概述应用程序:

下面的图片概述了当前的外观/工作方式

enter image description here

  1. 给出搜索字符串
  2. 修剪(InpSearchString.Text)
  3. 用于显示收藏夹中物品的画廊

预期结果:

我只想在图库中显示包含所有单个字符串的项目

预先感谢

Sascha Dornig

1 个答案:

答案 0 :(得分:0)

如果要使用所有字符串而不是其中之一,则可以略微更改表达式的逻辑。如果标题中包含单词,则在求和之前为1,并检查结果是否大于0(因此,如果存在,则将返回该项目)。在下面的此修改表达式中,如果每个单词中的都不,我们将加1,最后将和与0进行比较-如果不为零,则至少一个单词不是找到了,我们不返回记录。

Filter(
    CustomListIssues;
    Sum(
        ForAll(
            Filter(
                Split(
                    InpSearchString.Text;
                    " "
                );
                Len(Trim(Result)) > 0
            );
            If(
                Result in 'Title EN';
                0;
                1
            ) && "Unresolved" = Status && If(
                !IsEmpty(lbSearchDepartment.SelectedItems.Result);
                lbSearchDepartment.Selected.Value = Departement;
                "" in Departement
            )
        );
        Value
    ) = 0
)