问题标签 [splistitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7317 浏览

sharepoint - 在 SPListItem 中设置作者字段不会持续存在

我正在尝试将 SPListItem(带文件)从一个站点集合复制到另一个站点集合。我通过创建这样的文件来做到这一点:

通过我编写的实用程序方法,然后将新项目的所有字段值设置为与原始项目相对应,如下所示

问题是,这不会保留作者字段。

我尝试以各种可以想象的方式明确设置作者字段,例如:

像这样

但只要调用 SPListItem.Update() 方法,archiveItem["Author"] 字段就会恢复为 sharepoint\system。我在这里有点不知所措,这应该可以..

PS SPListItem.GetUser 方法是扩展方法

PPS代码正在从计时器作业运行...

编辑:通过向内容类型添加一个新字段然后设置该字段以反映原始项目的作者进行了更多挖掘,但这也没有设置。但是, web.EnsureUser(username) 确实返回了正确的用户。这是奇怪还是什么!?!

0 投票
1 回答
7532 浏览

c# - 如何将 DataTable 复制到 SharePoint SPList?

我在数据表中有我的源列表数据,sourceList并希望将该数据复制到其根列表中。

我怎样才能做到这一点?

0 投票
1 回答
535 浏览

sharepoint - 如何将 HTTPContext 用于 SPList

我有以下要求。

现在我想将其显示destinationList为 Web 部件,并且每次用户加载页面时,都应该重新填充它。

我怎样才能用 HTTPContext 实现呢?

0 投票
4 回答
20035 浏览

sharepoint - 如何将 SPListitem 从一个 SPList 复制到另一个 SPList

我需要将项目从一个 SPList 复制到另一个,

这是不起作用的代码:

0 投票
2 回答
2180 浏览

sharepoint - 如何在事务中创建/删除多个项目

我正在尝试删除 SharePoint 列表中的多个项目,其约束是应该删除所有项目不删除任何项目

简而言之,我希望在 SharePoint 中创建更多的事务行为。我曾尝试使用该ProcessBatchData()功能,但它似乎无法满足我的要求。有没有人知道的另一种方法来实现这个目标?

0 投票
3 回答
15541 浏览

sharepoint - 查找 SPListItem 的最新批准版本

我正在尝试遍历 SPListItem.Versions 集合以查找最新批准的列表项。

我的列表项有三个版本:前两个已批准,最后一个是草稿。但是我的代码说它们都在草稿中!请帮忙!

0 投票
4 回答
12255 浏览

sharepoint - 什么时候 SPFile.Properties != 到 SharePoint 中的 SPFile.Item.Properties?

我们的一位客户遇到了我们无法重现的问题。我们使用 SPFile.Properties 以编程方式将文档的属性复制到目标文件。但是,由于某种原因,文件的属性与存储文件的列表中指定的元数据不匹配。

现在,我们可能可以通过复制 SPFile.Item.Properties(尚未测试)来解决这个问题,但我只是想知道在什么情况下 SPFile.Properties 不等于 SPFile.Item.Properties。

更新:我们刚刚收到客户的更新。使用 SPFile.Item.Properties 始终返回最新信息。但是,我们仍然想了解最初的问题。

0 投票
3 回答
9857 浏览

c# - 遍历 SPListItem/SPList

我正在为人们在我们公司网站上执行任务制作一份清单。我现在正在处理的功能是,一旦他们完成了一项任务并将其标记为已完成,我希望我们的 sharepoint webpart 向他们发送一封电子邮件,其中包含他们仍需要完成的内容的列表。

由于希望能够在列表中随意添加和减少项目的权力,它需要是模块化的,因此检查列表也需要模块化并以模块化术语编写。

我遇到的问题是所有任务都存储在现有代码的 SPList 中。我不确定如何遍历列表以查明该人是否已经完成了以下任务。我没有看到任何下一个、上一个、头部或尾部操作(正如我从列表中所期望的那样)。由于索引使用字符串,它的行为更像是关联数据结构(映射)或数据库中的主键。

请帮助,谢谢大家!

干杯,

——耶利米·坦通科

0 投票
5 回答
10429 浏览

sharepoint - SPList 项获取值 - ArgumentException

我有一个SPListItem并且我有一个列名数组。当我尝试SPListItem使用以下代码访问值时:

0 投票
2 回答
14998 浏览

sharepoint - 通过显示表单的 URL 查找 SharePoint 列表项

有时用户需要更改他们不可编辑的 SharePoint 列表项中的信息,例如,隐藏在编辑表单中的字段(在我的情况下是记录编号)。

我决定创建一个小型 Windows GUI 应用程序,管理员将在服务器上运行它并进行请求的更改。但是,获取SPListItem我发现的实例的最简单方案是:

  • 管理员输入根站点的 URL
  • 使用给定的 URL 创建一个SPSiteojbect:SPSite oSite=new SPSite(this.txtURL.text);
  • admin 输入所需网站的相对 URL
  • 一个SPWeb对象被创建为SPWeb oWeb = oSite.OpenWeb(this.txtWebUrl.text);
  • 一个下拉框填充了所有列表标题oWeb.Lists
  • admin 从列表框中选择一个列表并输入所请求项目的 ID;
  • 所需SPListItem的被发现为oWeb.Lists[this.lstAllLists.selectedValue].GetItemById(this.txtItemId.value);

这是一条很长的路,管理员不喜欢打字、点击和等待。
他们想复制列表项显示表单的 URL(从 Web 浏览器或某人的电子邮件中),将其粘贴到更新工具中,然后单击“查找它!”。

我需要有关如何做到这一点的提示。

我知道我可能可以使用正则表达式解析 URL,因为它通常采用 的形式http://server/sites/[somesite]/[someweb/somesubweb]/lists/[somelist]/forms/dispform.aspx?ID=[123],但存在变体 - 例如,http://[server]/[DocumentLibrary]/Forms/RenamedDispForm.aspx?ID=[1234]与第一个示例具有完全不同的结构。

SPListItem所以,问题是 - 有没有一些简单的方法可以通过它的 URL找到一个?从 URL重建一个SPContext会很棒。

编辑:刚刚发现可以SPSite通过传递一个更长的 URL 来构造一个有效的对象: