我在 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/