使用Solution添加list模板并根据需要自动创建列表
来源:互联网 发布:mac文件拷贝软件 编辑:程序博客网 时间:2024/06/05 02:17
我们知道SharePoint可以将一个list保存成一个模板,然后使用这个模板创建相同的list。
如果在项目中,也需要创建一些相同的list,那么我们可以把一个list,导出成模板然后添加到solution中,然后根据需要创建list。
具体的方法如下,
1. 导出list模板
使用SharePoint,list setting中的保存模板功能,将list保存为一个模板ListTemplate.stp。然后将这个模板下载下来备用。
2. 在solution中创建一个element,在其下创建一个子文件夹,用来存放列表模板,将创建好的ListTemplate.stp模板上传:
然后设置ListTemplate.stp的属性如下,一定要将Deployment Type设置为ElementFile,才会随着solution一起部署。同时Deployment Location路径设置如下,以便之后使用代码读取。
3. 添加feature receiver,在feature被激活的时候,将ListTemplate上传到list template gallery中:
public override void FeatureActivated(SPFeatureReceiverProperties properties) { SPWeb web = properties.Feature.Parent as SPWeb; SPSite site = web.Site; if (null != site) { string rootDirectory = properties.Definition.RootDirectory; if (!rootDirectory.EndsWith(@"\")) { rootDirectory = rootDirectory + @"\"; } string path = rootDirectory + "ListTemplate"; if (Directory.Exists(path)) { string[] templateFiles = Directory.GetFiles(path, "*.stp", SearchOption.TopDirectoryOnly); SPDocumentLibrary catalog = site.GetCatalog(SPListTemplateType.ListTemplateCatalog) as SPDocumentLibrary; this.UploadTemplate(catalog, templateFiles); } } }4. 部署solution,并且激活feature之后,就可以在List Gallery中找到ListTemplate.stp模板了。
既然模板已经 有了,根据ListTemplate.stp模板创建list就很简单了,参见以下方法:
public void CreateListByTemplate(SPSite web) { SPListTemplateCollection listTemplates = web.Site.GetCustomListTemplates(web); foreach (SPListTemplate spListTemplate in listTemplates) { if(spListTemplate.InternalName.StartsWith("ListTemplate")) { try { Guid listId = web.Lists.Add(spListTemplate.Name, spListTemplate.Description, spListTemplate); } catch { } } } }
0 0
- 使用Solution添加list模板并根据需要自动创建列表
- Maven2 根据项目生成模版项目,并使用该模板批量创建工程
- Maven2 根据项目生成模版项目,并使用该模板批量创建工程
- Maven2 根据项目生成模版项目,并使用该模板批量创建工程
- Maven2 根据项目生成模版项目,并使用该模板批量创建工程
- Unity3D 创建脚本自动添加模板注释
- Unity3D 创建脚本自动添加模板注释
- python list列表添加元素需要注意的问题
- ERROR C2995 使用类 模板 需要 模板 参数列表
- Label:根据文字自动调整大小 并 添加tooltip提示
- 使用sax解析xml文件,并自动根据实体类class得到映射后的实体类list集合
- 自动添加需要编译的源文件Android.mk模板
- 列表List的创建和使用
- GridView动态添加模板列并自动绑定数据
- Linux命令--根据需要添加
- 创建列表(List)
- R:创建列表(list)
- Python 列表 list 数据类型创建list、添加元素和删除元素
- LeetCode: Add Binary [065]
- Scrips:打印AWR中执行计划的改变awr_plan_change.sql
- Effective C++ Item 18 让接口容易被正确使用,不易被误用
- 上周程序运行好好的,这周一上班客户端程序出现该问题:Could not find file 'C:\Users\XX\AppData\Local\Temp\
- 博客导出工具
- 使用Solution添加list模板并根据需要自动创建列表
- Sql Server 2005 64-bit 安装找不到本地服务器问题
- UIView-draggable 可拖拽的UIView
- 使用Chroot解决PHP的运行安全问题
- armv6,armv7,armv7s,arm64对应的机型以及报armv7s错误时的解决办法
- Android MediaPlayer在线音乐播放器
- 相关mysql的sql语句,可以在shell中操作mysql的方法
- Snailevil's To Do List
- 使用Chroot解决PHP的运行安全问题