search - Powerapps:将搜索文本拆分为单个字符串,现在我只需要在图库中显示包含其中一个字符串的项目

标签 search split datatables powerapps powerapps-formula

我在 powerapps 中创建了一个表格,用于从文本输入框中收集各个字符串。该表正在工作,当用户在文本框中键入时,它会在列中创建新项目。现在我正在尝试过滤图库以仅显示与表中的任何值匹配的项目。

我正在尝试按多行文本字段进行过滤。如果文本块中的单个单词匹配,我希望它显示。表格最终会隐藏在 View 中,但正如我现在看到的那样,每当在文本框中键入单词,然后用空格分隔时,它都会在表格中创建一个新条目。

这是工作台上项目的代码。

AddColumns(Split(SearchBox.Text," "),"Words",Result)

这是我为画廊中的项目尝试的代码。
Filter(Projects,Details in DataTable1.Result)

Projects 是我的数据的名称,Details 是包含我要搜索的多行文本的列的名称。

我收到一条错误消息,指出“结果”名称无效。我找不到要在过滤器代码的第二部分中放入什么表达式。实际结果,当输入文字时,我的图库没有显示任何内容。预期结果 我希望它显示与“详细信息”和搜索框中至少匹配一个词的所有项目。

谢谢,
瑞安·斯图尔特

最佳答案

没有直接的方法可以做你想做的事,但我们可以创建一个可以做到这一点的表达式。这将是类似的东西:

Filter(
    Projects,
    Sum(
        ForAll(
            Filter(Split(SearchBox.Text, " "), Len(Trim(Result)) > 0),
            If(Result in Details, 1, 0)),
        Value) > 0)

让我们通过它。这个子表达式:
Filter(Split(SearchBox.Text, " "), Len(Trim(Result)) > 0)

splits将您的搜索文本框向下转换为单词,并删除如果单词之间有两个空格或前导或尾随空格,您会得到的任何空词。

然后,for all被拆分的单词,我们看到 if该词包含在 Details 中您的列表列;如果是这样,我们得到值 1,否则为 0。 ForAll 的结果子表达式是与 Projects 中的每个项目相对应的值列表.然后我们Sum那些值(value)观。如果搜索框中的任何单词出现在详细信息中,则总和将大于 0。

最后我们可以过滤 Projects基于该值,它应该给你你想要的结果。

关于search - Powerapps:将搜索文本拆分为单个字符串,现在我只需要在图库中显示包含其中一个字符串的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54751381/

相关文章:

c - 如何快速对许多正则表达式键进行字符串匹配?

arrays - 如何根据条件将数组拆分为更小的数组?

javascript - 数据表搜索 td 属性

ruby-on-rails - 如何通过 url 参数动态设置数据表搜索和列过滤器状态?

javascript - 按单元格内容以外的值对列进行排序

php - MySQL 查询可以包含 HTML 值吗?

c++ - 为什么这段代码不产生输出?使用 xcode 的 C++ 二进制搜索

python - 搜索包含非 ASCII 字符的 python 模块

java - 在 if 条件中声明数组的解决方法

python - 如何拆分成列