无法复制应用于文档库中文件夹的列默认值设置 [英] Can't copy column default value setting applied to folders in a document library

查看:65
本文介绍了无法复制应用于文档库中文件夹的列默认值设置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

请帮助您解决此问题

 


我有一个称为LibraryX的文档库.在该库中,我创建了一个名为FolderX的文件夹.在FolderX中,我创建了FolderX1,FolderX2 和FolderX3.我进一步利用了LibraryX中两列的托管元数据,分别称为Document type和Trade.然后使用Document Library的Column默认值设置为FolderX(top folder)指定不同的默认元数据值 ,FolderX1,FolderX2和FolderX3.

 

以上设置的效果可以转化为随时将dcouments放置在任何子文件夹中的文档自动标记为文档 (文件夹X1,文件夹X2和文件夹X3).这是一个很棒的功能.


现在,我的问题是这个.作为管理员,我希望能够复制FolderX1,FolderX2和FolderX3及其默认设置的列 值放入LibraryX中新创建的名为FolderY的文件夹中.能做到吗?所有建议如何执行此操作的文章要么无效,要么不清楚如何执行.令人沮丧的是,微软没有像现在这样创造一种手段来做到这一点. 创建了一种使用doc库复制数据及其元数据的方法(它甚至感觉像是个bug,因此如果Microsoft的人员也响应此查询,那将很好.)

请咨询


非常感谢,

Dominic

 

解决方案

您好dnanna,

SharePoint不提供OOTB选项,以将具有默认值设置的子文件夹复制到另一个其他文件夹中.

作为一种解决方法,我们首先可以从源子文件夹中获取默认值设置,然后使用SharePoint Server对象模型将默认值设置设置为目标子文件夹.

以下是代码段供您参考:

上面的代码将在文件夹之间复制默认值设置,有关更多详细信息,请参阅:

MetadataDefaults.GetFieldDefault方法(SPFolder,字符串)

MetadataDefaults.SetFieldDefault方法(SPFolder,字符串,字符串)

此处的代码演示:

谢谢

最好的问候


Hi All,

Please could you help out with this problem

 


I have a document library called LibraryX. Within that library I have created a folder called FolderX.Within FolderX I have created FolderX1,FolderX2 and FolderX3. I have further made used of managed metadata for two columns in LibraryX called Document type and Trade.I have then used the Column default value settings of the document library to specify different default metadata vaules for FolderX(top folder) ,FolderX1,FolderX2 and FolderX3.

 

The effect of the above setup translates into documents being automatically tagged anytime dcouments are placed in any of the subfolders (FoldersX1,FolderX2 and FoldersX3).This is a great feature.


Now, my question is this. As an administrator, I want to be able to copy FolderX1,FolderX2 and FolderX3 along with it's set column default values into a newly created folder in LibraryX called FolderY. Can this be done? All articles that suggest how to do this either don't work or are not clear as to how it can be done. It's frustrating that microsoft don't create a means to do this as they have created the means to copied data and its metadata with a doc library(It somewhat even feels like a bug so it will good if people at microsoft also respond to this query).

Please advice


Many thanks,

Dominic

 

解决方案

Hi dnanna,

SharePoint not provide OOTB option to copy sub folder with default value settings into another other folder.

As a workaround, we can firstly get the default value settings from a source sub folder, then set the defalut value settings to the target sub folder using SharePoint Server Object Model.

Here is a code snippet for your reference:

 SPSite site = new SPSite("http://sp/sites/dev");
            SPWeb web = site.OpenWeb();
            SPList list = web.Lists["Documents"];
            MetadataDefaults columnDefaults = new MetadataDefaults(list);
            SPFolder sourcefolder = list.RootFolder.SubFolders["FolderX"].SubFolders["FolderX1"];
            string defaultValue = columnDefaults.GetFieldDefault(sourcefolder,"Trade");
            SPFolder targetfolder = list.RootFolder.SubFolders["FolderY"].SubFolders["FolderY1"];
            columnDefaults.SetFieldDefault(targetfolder, "Trade", defaultValue);
            columnDefaults.Update();

The code above will copy the default value settings between folders, for more detailed information, please refer:

MetadataDefaults.GetFieldDefault method (SPFolder, String)

MetadataDefaults.SetFieldDefault method (SPFolder, String, String)

Code Demo here:

How to: Set Default Column Values on a folder programmatically

Thanks

Best Regards


这篇关于无法复制应用于文档库中文件夹的列默认值设置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆