我的补丁程序功能出现问题。我看到的唯一错误是当我提供表时,它期望记录。这是因为集合以表的形式返回,并且我需要通过ForAll遍历集合的行吗?我以为集合中的ForAll()会做到这一点。还有其他想法吗?
注意:“我的SharePoint列表”中确实还有其他列,但是我仅在此图库中更新其中的几列...。这是引起此问题的原因吗?
// Create a collection to store updated values
ForAll(
Filter(
gal_EditableTable.AllItems,
tog_isChanged.Value
) As ChangedRows,
Patch(colUpdates,
Defaults(colUpdates), {
ID: ChangedRows.ID,
ItemNumber: ChangedRows.txt_ItemNumber.Text,
Description: ChangedRows.txt_Description.Text,
Quantity: Value(ChangedRows.txt_Quantity.Text),
Location: ChangedRows.txt_Location.Text
})
);
// Update SharePoint with new values
Patch('Inventory Count', colUpdates);
Clear(colUpdates);
答案 0 :(得分:2)
要直接将集合Patch
ForAll(
Filter(
Gallery1.AllItems,
Toggle1.Value = true
) As ChangedRows,
Patch('Inventory Count',
Defaults('Inventory Count'),
{
itemNumber: ChangedRows.itemNumber,
desc: ChangedRows.desc,
qty: ChangedRows.qty
}
)
)
到Sharepoint列表,要修补的列必须完全相同;名称和数据类型。
想知道是否可以做:(添加新记录)
ForAll(
Filter(
Gallery1.AllItems,
Toggle1.Value = true
) As ChangedRows,
Patch('Inventory Count',
LookUp('Inventory Count', id = ChangedRows.id),
{
itemNumber: ChangedRows.itemNumber,
desc: ChangedRows.desc,
qty: ChangedRows.qty
}
)
)
或者这样:(要更新现有记录)
{{1}}