以编程方式创建智能电子表格
本文关键字:智能 电子表格 创建 方式 编程 | 更新日期: 2023-09-27 18:09:28
我已经创建了智能表单,并使用bat文件生成了相关的类(使用xsd生成c#类)。然后,我将创建的智能表单分配给一个特定的文件夹,并使用CMS工作区域创建示例智能表单。
是否有一种方法来创建一个智能表单从后面的代码?我尝试了以下方法,但没有像预期的那样工作:
ContentType<root> cData = new ContentType<root>();
cData.SmartForm.EventName = "Conference Event1";
cData.SmartForm.EventDescription = "Test Description";
cData.SmartForm.EventDate = DateTime.Now.AddMonths(2).ToString("yyyy-MM-dd");
ContentTypeManager<root> contentTypeManager = new ContentTypeManager<root>();
contentTypeManager.Add(cData);
我已经找到解决办法了。你可以使用ContentManager来实现它。
ContentManager contentManager = new ContentManager(ApiAccessMode.Admin);
Ektron.Cms.ContentData contentData = new Ektron.Cms.ContentData();
contentData.Title = "title 011";
contentData.Html = "<root><EventName>Change1...</EventName>" +
"<EventDescription>Description Test</EventDescription>" +
"<EventDate>2014-10-30</EventDate>" +
"</root>";
contentData.ContType = 1;
contentData.Comment = "Automatically generated from a script.";
contentData.FolderId = 86; //folder id to save you smart data
contentData.IsPublished = true;
contentData.IsSearchable = true;
contentData.LanguageId = 1033;
contentData.XmlInheritedFrom = 86; //folder id to save you smart data
Ektron.Cms.XmlConfigData xcd = new Ektron.Cms.XmlConfigData();
xcd.Id = 7; //SmartForm ID
contentData.XmlConfiguration = xcd;
contentManager.Add(contentData);