1

我的案例和这个案例类似:点击这里

我有一个画廊,它显示收藏中的项目。我已经添加了一个 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

'Title EN':我想根据给定的搜索字符串搜索的列

概述应用程序:

下图让您大致了解它目前的外观/工作方式

在此处输入图像描述

  1. 给定搜索字符串
  2. 修剪(InpSearchString.Text)
  3. 显示收藏中项目的画廊

预期结果:

我希望仅在画廊中显示包含所有单个字符串的项目

提前致谢

萨沙·多尼格

4

1 回答 1

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
)
于 2019-04-24T19:45:27.583 回答