SharePoint列表中的"自动编号"列

时间:2020-03-05 18:56:00  来源:igfitidea点击:

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

解决方案

回答

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

回答

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

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

检出:SharePoint列表中的唯一ID

回答

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

回答

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

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

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

回答

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

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

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

回答

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

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

回答

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

无论哪种方式,如果我们确实需要,所有项目都具有一个GUID的UniqueID属性:http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.splistitem.uniqueid.aspx

回答

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

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