Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多个sharepoint列表中的单个库(所有相同字段)_Sharepoint_Logic_Sharepoint Online_Powerapps_Powerapps Formula - Fatal编程技术网

多个sharepoint列表中的单个库(所有相同字段)

多个sharepoint列表中的单个库(所有相同字段),sharepoint,logic,sharepoint-online,powerapps,powerapps-formula,Sharepoint,Logic,Sharepoint Online,Powerapps,Powerapps Formula,目前,我的powerapp有一个基于单个sharepoint列表的图库,但我想在我的应用程序上实现一个图库,该图库应显示来自3个不同sharepoint列表的项目(所有列表都具有相同的列/字段)我在厨房里使用了一个过滤器,这样用户就可以在框中键入内容,只得到过滤后的响应,而不是显示所有数据 请帮忙 我已经在gallery1.items中使用了此公式: 搜索(“采购订单列表”,TextSearchBox.Text,“分行代码”) 例如,考虑我有2个列表:列表1和列表2,现在当用户在搜索框(即文本搜

目前,我的powerapp有一个基于单个sharepoint列表的图库,但我想在我的应用程序上实现一个图库,该图库应显示来自3个不同sharepoint列表的项目(所有列表都具有相同的列/字段)我在厨房里使用了一个过滤器,这样用户就可以在框中键入内容,只得到过滤后的响应,而不是显示所有数据

请帮忙

我已经在gallery1.items中使用了此公式:

搜索(“采购订单列表”,TextSearchBox.Text,“分行代码”) 例如,考虑我有2个列表:列表1和列表2,现在当用户在搜索框(即文本搜索框)中搜索时,我希望画廊可以过滤数据,其中“BrangChxx020x代码”等于从列表

两个的搜索数据。 编辑1:这是我试图实现的公式: 公式:ClearCollect(Aitems、‘采购订单列表’、采购订单2)

错误如下图所示:

我的“采购订单列表”有一个名为“状态”的列,其类型为单行文本,而在“采购订单2”中,状态列的类型为选项。由于我无法更改数据类型,我已将其中一个列表列名更改为“状态0”。 现在,这两个列表之间唯一的区别是一个列表有一些额外的列,而另一个列表没有。
但当我尝试实现时,仍然会出现这种“不兼容类型”错误。

库不能一次直接显示来自多个数据源的结果。然而,实现这一点的一种方法是首先将各种列表中的数据收集到单个列表中,然后将库绑定到该集合

例如,您可以在应用程序的属性或“更新”按钮的OnSelect属性中执行此操作:

然后将gallery.items绑定到集合:

Search( CombinedListsCollection, TextInput.Text, [columns])
另一种方法是在用户搜索时动态收集一组经过过滤的记录。例如,在搜索框的文本输入控件上,将“OnChange”属性设置为:

ClearCollect(CombinedFilteredLists,
Filter(List1, StartsWith(Title, TextInput1.Text)),
Filter(List2, StartsWith(Title, TextInput1.Text)))
然后将库项目设置为CombinedFilteredList

如上例所示,使用wrapped in Filter()委托大型SharePoint列表

下面是一个正在运行的gif:

如果两个列表的列/字段完全相同,那么Ryan的解决方案会起作用。但是,如果某些字段不同(名称或类型),则可以在PowerApps中使用

在您的特定情况下,如果SharePoint中有以下两个列表:

  • 列表01
    • 标题(正文)
    • 状态(文本)
  • 列表02
    • 标题(正文)
    • 地位(选择)
然后,可以使用以下表达式创建包含两个列表内容的集合:

ClearCollect(
    ItemsCollection,
    ShowColumns(
        AddColumns(List01, "StatusText", Status),
        "Title", "StatusText"));
Collect(
    ItemsCollection,
    ShowColumns(
        AddColumns(List02, "StatusText", Status.Value),
        "Title", "StatusText"));
上面的表达式在两个列表上创建一个名为“StatusText”的新列(*),将状态列的类型规范化为文本,然后从两个列表中选择标题和StatusText列,从而确保模式(字段类型)相同


(*)AddColumns函数不会在SharePoint列表中创建任何其他列;相反,它返回一个新的“虚拟”表,可在PowerApps的表达式/控件中使用。

我尝试了您给出的两种解决方案,但在公式“ClearCollect(CombinedListsCollection,List1,List2,List3)”中添加第二个列表时出错,该错误表示Clearcollect有一些不正确的参数,但只有一个列表可以正常工作,同样的情况也适用于第二个公式,其中当我使用诸如“Clearcollect(vvv,Filter('PO list',StartsWith(Branch_x0020_Code,TextSearchBox.Text))”时也可以正常工作当我用第二个列表添加第二个filter语句时,给出了相同的错误在这两种情况下,我在clear collect公式中都得到了不兼容的类型错误@RyanCunningham@Vishnu,您可以发布两个筛选器语句的确切表达式吗?ClearCollect(组合的FilteredList,filter(List1,StartsWith(brcode,TextInput1.Text)),过滤器(List2,StartsWith(brcode,TextInput1.Text))@carlosfigueira
ClearCollect(
    ItemsCollection,
    ShowColumns(
        AddColumns(List01, "StatusText", Status),
        "Title", "StatusText"));
Collect(
    ItemsCollection,
    ShowColumns(
        AddColumns(List02, "StatusText", Status.Value),
        "Title", "StatusText"));