it-swarm.cn

SharePoint列表中的“自动编号”列

在SharePoint列表中,我希望添加到列表中的自动编号列增加。我该如何最好?

29
78lro

共享点列表自动具有一个带有“ ID”的列,该列会自动递增。您只需要从“修改视图”屏幕中选择此列即可查看。

54
BrewinBombers

您不能将新的唯一的自动生成的ID添加到SharePoint列表中,但是已经有一个ID!如果您编辑“所有项目”视图,将看到未选中显示选项的列列表。

这些列中有相当多的列存在,但从未显示过,例如“ Created By”和“ Created”。这些字段在SharePoint中使用,但是默认情况下不会显示它们,以免使显示混乱。您无法编辑这些字段,但可以将其显示给用户。如果您选中ID字段旁边的“显示”框,则会在列表中显示一个唯一且自动生成的ID字段。

签出: SharePoint列表中的唯一ID

9

如果要控制唯一标识符的格式,则可以 在SharePoint中创建自己的<FieldType> 。 MSDN还具有 可视化方法 。这基本上意味着您正在创建自定义列。

WSS定义了“计数器”字段类型(上面的ID列正在使用的类型)。我从来没有必要重复使用或扩展它,但它应该是可能的。

没有创建自定义<FieldType>的解决方案可能存在。例如:如果您想要唯一的ID,例如CUST1,CUST2 ...,则可能可以创建一个Calculated列,并在公式(="CUST" & [ID])中使用ID列的值。我没有尝试过,但这应该可以工作:)

5
dariom

我在使用自定义列表时遇到了这个问题,虽然无法使用自动生成的[〜#〜] id [〜#〜]列来创建计算列,但可以使用做繁重的工作流程。

我创建了一个新的Number类型的工作流变量,并将其设置为当前项目中[〜#〜] id [〜#〜]列的值。然后,只需计算自定义列值并进行设置即可-在我的情况下,我只需要从100,000开始编号。

enter image description here

4
David Clarke

如前所述,Sharepoint中的所有对象都包含某种唯一标识符(通常用于列表项的基于整数的计数器,以及用于列表的GUID)。

也就是说,在 http://www.codeplex.com/features 处也有一个称为“唯一列策略”的功能,该功能旨在添加具有唯一值的其他列。完整的文章可在 http://scothillier.spaces.live.com/blog/cns!8F5DEA8AEA9E6FBB!293.entry 获得

1
user15916

因此,我不确定我是否真的会想到为什么实际上需要一个“网站集唯一” ID,因此也许您可以发表评论并让我们知道实际上是什么在这里完成...

无论哪种方式,所有项目都具有UniqueID属性,如果您确实需要,则它是GUID): http://msdn.Microsoft.com/zh-CN/library/Microsoft.sharepoint.splistitem.uniqueid.aspx

1
spdevsolutions

它默认在里面。这是id字段。

1
kemiller2002

如果您希望所有列表中的ID列之外的内容,您可能必须求助于列表中的事件接收器,以“计算”唯一标识的值或使用一个自定义字段类型在其中嵌入了所需的逻辑。不幸的是,这两个选项都需要编写和部署自定义代码到服务器,以及将程序集部署到GAC,这在您无法完全控制服务器的环境中可能会被忽略。

如果不需要立即显示唯一标识符,则可以通过工作流(使用SharePoint Designer或Visual Studio内置的自定义WF工作流))生成它。

不幸的是,似乎很显然的解决方案,计算列无法用于此目的,因为尝试进行计算时尚未分配ID。如果您查看事实并编辑项目,则计算可能会达到您想要的结果,但是在最初创建新项目时将无法正确计算。

1
Sam Yates

Peetha是最好的主意,我在SP)网站中使用自定义列表做了同样的事情。使用工作流自动递增是最好的方法,并且没有那么困难。网站上的网址: http://splittingshares.wordpress.com/2008/04/11/auto-increment-a-number-in-a-new-list-item/

我非常感谢发布该解决方案的人,它非常酷!!

0
Marlon