4

如何为使用文档的“名称”作为查找值的文档库创建查找列?

我发现一篇博客文章建议添加另一个自定义字段,例如“文件名”,然后使用项目接收器使用名称字段中的值填充自定义字段,但这似乎很俗气。如果人们感兴趣,可以链接到博客:http: //blogs.msdn.com/pranab/archive/2008/01/08/sharepoint-2007-moss-wss-issue-with-lookup-column-to-doc-库名称字段.aspx

我有一堆自定义文档内容类型,我不想用一个无论如何都应该真正工作的解决方法弄乱它们。

4

5 回答 5

4

我创建了一个一步的工作流程来从名称中设置标题,在修改和创建时触发。似乎工作并花了几秒钟的时间来创建。

于 2010-11-04T18:12:41.930 回答
3

您可以执行此操作的一种方法(尽管不是最简单的方法)是创建扩展 SPFieldLookup 类的自定义字段类型。SharePoint 的查找字段字段编辑器有意隐藏查找字段不支持的任何列类型,但您可以为显示它们的自定义字段类型创建字段编辑器。

但是,我之前已经创建了一个指向文档库中的名称列的查找列,它可能不像您期望的那样工作。虽然查找列中存储的值有效,但它不会显示在列表视图或视图属性表单中。

您发布的解决方案实际上可能是处理此问题的最佳方法。如果您想处理更复杂的场景,查找字段需要一些杂项,但这是因为它们并不意味着提供与数据库中的外键关系相同的功能。

于 2009-01-30T00:33:13.930 回答
1

任何形式的编码总是让我害怕。所以这就是我所做的:我只是将愚蠢的“标题”字段重命名为别的东西,比如“关键字”,因为你不能对那个字段做任何事情:甚至不能让它成为强制性的。然后我创建了另一个名为“Title”的单行字段并将该字段用于查找

于 2011-01-27T04:02:58.390 回答
0

好吧,有一个简单的解决方案,并且在某些情况下可能会起作用。简而言之,如果您将 Title 字段设为 Mandatory,这将强制用户输入标题。通过这种方式,我们可以将标题字段用作查找字段。

现在该怎么做?完成创建文档库后,转到库设置。选择高级设置并为选项“允许管理内容类型?”选择是。然后返回库设置并在内容类型下选择“文档”内容类型。然后选择标题列,然后选择“必填(必须包含信息)”并说确定。

现在尝试将文档上传到此文档库。您将在表单中看到标题字段。

希望这有助于干杯 Vaqar

于 2015-12-03T22:11:37.653 回答
0

您必须将字段添加为 XML,ShowField 为“FileLeafRef”

var XmlFieldDefinition = "<Field DisplayName='myLookupColumn' Type='LookupMulti' StaticName='myLookupColumn' Name='myLookupColumn' Required='FALSE' List='THE LOOKUP ID HERE' WebId='THE WEB ID HERE' UnlimitedLengthInDocumentLibrary='TRUE' Mult='TRUE' Sortable='FALSE' ShowField='FileLeafRef' />"

Field fld = fieldCollection.AddFieldAsXml(XmlFieldDefinition, true, AddFieldOptions.DefaultValue);
ClientContext.Load(fld);

ClientContext.ExecuteQuery();

于 2016-06-21T14:26:54.507 回答