0

我们直接从 Access 查询中加载了一个 SP 列表,现在当我们尝试使用 pnpjs 运行列表更新时,我得到一个“错误代码:-2130575163.List data validation failed”。

没有必填字段,任何列都没有验证,列表上也没有验证设置。这不是因为它是从 Access 上传的吗?

更新它类似于这样:

const items = await sp.web.lists.getByTitle("MyList").items.top(1).filter("Title eq 'A Title'").get();

const updatedItem = await sp.web.lists.getByTitle("MyList").items.getById(items[0].Id).update({
    my_id: mynewID,
})

添加列表项没有问题。更新列表项不起作用。

4

3 回答 3

0

试试这个。


let list = sp.web.lists.getByTitle("MyList");

const i = await list.items.getById(1).update({
  Title: "My New Title",
  Description: "Here is a new description"
});

console.log(i);
于 2020-07-03T23:39:21.383 回答
0

items[0].Id 有效吗?请尝试使用 console.log (items[0].Id) 来检查开发者工具。我在我这边测试了相同的请求,my_id 是一个数字字段:

  const items = await sp.web.lists.getByTitle("JqueryList").items.top(1).filter("Title eq 'My New Title'").get();
    console.log(items);
    let list = sp.web.lists.getByTitle("JqueryList");

    const i = await list.items.getById(items[0].Id).update({
      Title: "My New Title",
      my_id: 1
    });

在此处输入图像描述

于 2020-07-07T09:35:27.597 回答
0

我确实解决了它 - 当您在 Access 中使用 StrReverse 函数然后将该查询上传到 SP 列表时 - 列表类型已损坏。为了解决这个问题,我简单地进入并将类型从单行文本更改为多行 - 然后回到单行文本。

然后我能够更新列表项。

于 2020-07-29T19:11:48.830 回答